traitify 1.8.4 → 2.0.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.
Files changed (67) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +11 -0
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile +5 -1
  5. data/Gemfile.lock +109 -42
  6. data/README.md +50 -25
  7. data/lib/traitify/client/connection.rb +22 -0
  8. data/lib/traitify/client/model.rb +45 -0
  9. data/lib/traitify/client/overrides.rb +27 -0
  10. data/lib/traitify/client/request.rb +33 -0
  11. data/lib/traitify/client/setup.rb +25 -0
  12. data/lib/traitify/client.rb +20 -27
  13. data/lib/traitify/configuration.rb +4 -12
  14. data/lib/traitify/data.rb +18 -0
  15. data/lib/traitify/error.rb +18 -16
  16. data/lib/traitify/middleware/formatter.rb +52 -0
  17. data/lib/traitify/middleware/raise_error.rb +38 -0
  18. data/lib/traitify/response.rb +44 -0
  19. data/lib/traitify/version.rb +1 -1
  20. data/lib/traitify.rb +29 -1
  21. data/paths.yml +1352 -0
  22. data/spec/spec_helper.rb +14 -6
  23. data/spec/support/mocks/assessment.json +1 -1
  24. data/spec/support/mocks/assessment_analytics.json +7 -0
  25. data/spec/support/mocks/blank.json +0 -0
  26. data/spec/support/mocks/career.json +1 -2
  27. data/spec/support/mocks/careers.json +2 -3
  28. data/spec/support/mocks/decks.json +1 -4
  29. data/spec/support/mocks/locale.json +10 -0
  30. data/spec/support/mocks/locales.json +12 -0
  31. data/spec/support/mocks/profile.json +5 -0
  32. data/spec/support/mocks/profiles.json +5 -0
  33. data/spec/support/mocks/trait_analytics.json +7 -0
  34. data/spec/support/mocks/type_analytics.json +7 -0
  35. data/spec/traitify/client/examples/analytics_spec.rb +53 -0
  36. data/spec/{traitify-ruby/client → traitify/client/examples}/assessment_spec.rb +19 -14
  37. data/spec/traitify/client/examples/career_spec.rb +52 -0
  38. data/spec/traitify/client/examples/configuration_spec.rb +29 -0
  39. data/spec/traitify/client/examples/deck_spec.rb +29 -0
  40. data/spec/traitify/client/examples/locale_spec.rb +39 -0
  41. data/spec/{traitify-ruby/client → traitify/client/examples}/major_spec.rb +12 -11
  42. data/spec/traitify/client/examples/profiles_spec.rb +66 -0
  43. data/spec/traitify/client/examples/result_spec.rb +130 -0
  44. data/spec/traitify/client/examples/slide_spec.rb +95 -0
  45. data/spec/traitify/client/model_spec.rb +73 -0
  46. data/spec/traitify/client/request_spec.rb +85 -0
  47. data/spec/traitify/client/setup_spec.rb +62 -0
  48. data/spec/traitify/client_spec.rb +52 -0
  49. data/spec/traitify/data_spec.rb +105 -0
  50. data/spec/traitify/error_spec.rb +117 -0
  51. data/spec/traitify/response_spec.rb +82 -0
  52. data/spec/traitify/version_spec.rb +7 -0
  53. data/traitify.gemspec +14 -12
  54. metadata +113 -53
  55. data/lib/traitify/client/assessments.rb +0 -29
  56. data/lib/traitify/client/careers.rb +0 -25
  57. data/lib/traitify/client/decks.rb +0 -16
  58. data/lib/traitify/client/majors.rb +0 -25
  59. data/lib/traitify/client/results.rb +0 -37
  60. data/lib/traitify/client/slides.rb +0 -34
  61. data/lib/traitify/connection.rb +0 -33
  62. data/lib/traitify/request.rb +0 -18
  63. data/spec/traitify-ruby/client/career_spec.rb +0 -51
  64. data/spec/traitify-ruby/client/configuration_spec.rb +0 -51
  65. data/spec/traitify-ruby/client/deck_spec.rb +0 -28
  66. data/spec/traitify-ruby/client/result_spec.rb +0 -93
  67. data/spec/traitify-ruby/client/slide_spec.rb +0 -82
data/paths.yml ADDED
@@ -0,0 +1,1352 @@
1
+ paths:
2
+ /assessments:
3
+ post:
4
+ tags:
5
+ - "Assessments"
6
+ summary: "Create a new assessment"
7
+ description: "This method allows you to create a new assessment. The only parameter\
8
+ \ is a deck_id."
9
+ operationId: "create"
10
+ produces:
11
+ - "application/json"
12
+ parameters:
13
+ - in: "body"
14
+ name: "body"
15
+ required: true
16
+ schema:
17
+ $ref: "#/definitions/CreateAssessment"
18
+ responses:
19
+ 200:
20
+ description: "successful operation"
21
+ schema:
22
+ $ref: "#/definitions/Assessment"
23
+ /assessments/{assessment_id}/matches/careers:
24
+ get:
25
+ tags:
26
+ - "Assessments"
27
+ summary: "Find matching careers for an assessment"
28
+ description: ""
29
+ operationId: "match"
30
+ produces:
31
+ - "application/json"
32
+ parameters:
33
+ - name: "assessment_id"
34
+ in: "path"
35
+ required: true
36
+ type: "string"
37
+ - name: "career_ids"
38
+ in: "query"
39
+ description: "Filter matches on a comma separated list of career_ids."
40
+ required: false
41
+ type: "string"
42
+ - name: "number_of_matches"
43
+ in: "query"
44
+ required: false
45
+ type: "integer"
46
+ default: 20
47
+ format: "int32"
48
+ - name: "experience_levels"
49
+ in: "query"
50
+ required: false
51
+ type: "string"
52
+ - name: "search"
53
+ in: "query"
54
+ required: false
55
+ type: "string"
56
+ - name: "sort"
57
+ in: "query"
58
+ required: false
59
+ type: "string"
60
+ default: "score"
61
+ - name: "paged"
62
+ in: "query"
63
+ required: false
64
+ type: "boolean"
65
+ default: false
66
+ - name: "page"
67
+ in: "query"
68
+ required: false
69
+ type: "integer"
70
+ default: 1
71
+ format: "int32"
72
+ - name: "careers_per_page"
73
+ in: "query"
74
+ required: false
75
+ type: "integer"
76
+ default: 25
77
+ format: "int32"
78
+ - name: "locale_key"
79
+ in: "query"
80
+ required: false
81
+ type: "string"
82
+ responses:
83
+ 200:
84
+ description: "successful operation"
85
+ schema:
86
+ type: "array"
87
+ items:
88
+ $ref: "#/definitions/ScoredCareer"
89
+ post:
90
+ tags:
91
+ - "Assessments"
92
+ summary: "Get the match score for an assessment and a list of CareerIds"
93
+ description: ""
94
+ operationId: "getCareerScoresByList"
95
+ produces:
96
+ - "application/json"
97
+ parameters:
98
+ - name: "assessment_id"
99
+ in: "path"
100
+ required: true
101
+ type: "string"
102
+ - in: "body"
103
+ name: "body"
104
+ required: false
105
+ schema:
106
+ type: "array"
107
+ items:
108
+ type: "string"
109
+ - name: "locale_key"
110
+ in: "query"
111
+ required: false
112
+ type: "string"
113
+ responses:
114
+ 200:
115
+ description: "successful operation"
116
+ schema:
117
+ type: "array"
118
+ items:
119
+ $ref: "#/definitions/ScoredCareer"
120
+ /assessments/{assessment_id}/matches/careers/{career_id}:
121
+ get:
122
+ tags:
123
+ - "Assessments"
124
+ summary: "Get the match score for an assessment and specific career"
125
+ description: ""
126
+ operationId: "getScore"
127
+ produces:
128
+ - "application/json"
129
+ parameters:
130
+ - name: "assessment_id"
131
+ in: "path"
132
+ required: true
133
+ type: "string"
134
+ - name: "career_id"
135
+ in: "path"
136
+ required: true
137
+ type: "string"
138
+ - name: "locale_key"
139
+ in: "query"
140
+ required: false
141
+ type: "string"
142
+ responses:
143
+ 200:
144
+ description: "successful operation"
145
+ schema:
146
+ type: "array"
147
+ items:
148
+ $ref: "#/definitions/ScoredCareer"
149
+ /assessments/{assessment_id}/personality_traits:
150
+ get:
151
+ tags:
152
+ - "Personality Traits"
153
+ summary: "Get personality traits for the assessment as a dichotomy"
154
+ description: ""
155
+ operationId: "personality_trait"
156
+ produces:
157
+ - "application/json"
158
+ parameters:
159
+ - name: "assessment_id"
160
+ in: "path"
161
+ required: true
162
+ type: "string"
163
+ - name: "locale_key"
164
+ in: "query"
165
+ required: false
166
+ type: "string"
167
+ responses:
168
+ 200:
169
+ description: "successful operation"
170
+ schema:
171
+ type: "array"
172
+ items:
173
+ $ref: "#/definitions/AssessmentPersonalityTraitDichotomy"
174
+ /assessments/{assessment_id}/personality_traits/dichotomy:
175
+ get:
176
+ tags:
177
+ - "Personality Traits"
178
+ summary: "Get personality traits for the assessment as a dichotomy"
179
+ description: ""
180
+ operationId: "personality_trait_dichotomy"
181
+ produces:
182
+ - "application/json"
183
+ parameters:
184
+ - name: "assessment_id"
185
+ in: "path"
186
+ required: true
187
+ type: "string"
188
+ - name: "locale_key"
189
+ in: "query"
190
+ required: false
191
+ type: "string"
192
+ responses:
193
+ 200:
194
+ description: "successful operation"
195
+ schema:
196
+ type: "array"
197
+ items:
198
+ $ref: "#/definitions/AssessmentPersonalityTraitDichotomy"
199
+ /assessments/{assessment_id}/personality_traits/raw:
200
+ get:
201
+ tags:
202
+ - "Personality Traits"
203
+ summary: "Get personality traits for the assessment"
204
+ description: ""
205
+ operationId: "personality_traits_raw"
206
+ produces:
207
+ - "application/json"
208
+ parameters:
209
+ - name: "assessment_id"
210
+ in: "path"
211
+ required: true
212
+ type: "string"
213
+ - name: "image_pack"
214
+ in: "query"
215
+ required: false
216
+ type: "string"
217
+ default: "linear"
218
+ - name: "locale_key"
219
+ in: "query"
220
+ required: false
221
+ type: "string"
222
+ responses:
223
+ 200:
224
+ description: "successful operation"
225
+ schema:
226
+ type: "array"
227
+ items:
228
+ $ref: "#/definitions/AssessmentPersonalityTrait"
229
+ /assessments/{assessment_id}/personality_traits/top:
230
+ get:
231
+ tags:
232
+ - "Personality Traits"
233
+ summary: "Get the top personality trait for the assessment as a dichotomy"
234
+ description: "Only the top trait is returned however multiple traits are returned\
235
+ \ in the event of a tie."
236
+ operationId: "personality_traits_top"
237
+ produces:
238
+ - "application/json"
239
+ parameters:
240
+ - name: "assessment_id"
241
+ in: "path"
242
+ required: true
243
+ type: "string"
244
+ - name: "locale_key"
245
+ in: "query"
246
+ required: false
247
+ type: "string"
248
+ responses:
249
+ 200:
250
+ description: "successful operation"
251
+ schema:
252
+ type: "array"
253
+ items:
254
+ $ref: "#/definitions/AssessmentPersonalityTrait"
255
+ /assessments/{assessment_id}/personality_types:
256
+ get:
257
+ tags:
258
+ - "Personality Types"
259
+ summary: "Get the assessment results"
260
+ description: "This resource can be used to retrieve the results of an assessment\
261
+ \ that has been completed. If the assessment has not been completed you will\
262
+ \ get a 404 in response. The results contain two nodes. personality_blend\
263
+ \ will be populated if the top two personality types can be combined into\
264
+ \ a blend. personality_types will contain a list of all the personality types\
265
+ \ for the assessment and they will be sorted by score."
266
+ operationId: "personality_types"
267
+ produces:
268
+ - "application/json"
269
+ parameters:
270
+ - name: "assessment_id"
271
+ in: "path"
272
+ required: true
273
+ type: "string"
274
+ - name: "image_pack"
275
+ in: "query"
276
+ required: false
277
+ type: "string"
278
+ default: "flat"
279
+ - name: "locale_key"
280
+ in: "query"
281
+ required: false
282
+ type: "string"
283
+ responses:
284
+ 200:
285
+ description: "successful operation"
286
+ schema:
287
+ $ref: "#/definitions/AssessmentResults"
288
+ /assessments/{assessment_id}/personality_types/top:
289
+ get:
290
+ tags:
291
+ - "Personality Types"
292
+ summary: "Get the top personality type for an assessment"
293
+ description: "This resource can be used to retrieve the top personality type\
294
+ \ of an assessment that has been completed. If the assessment has not been\
295
+ \ completed you will get a 404 in response."
296
+ operationId: "top_personality_types"
297
+ produces:
298
+ - "application/json"
299
+ parameters:
300
+ - name: "assessment_id"
301
+ in: "path"
302
+ required: true
303
+ type: "string"
304
+ - name: "image_pack"
305
+ in: "query"
306
+ required: false
307
+ type: "string"
308
+ default: "flat"
309
+ - name: "locale_key"
310
+ in: "query"
311
+ required: false
312
+ type: "string"
313
+ responses:
314
+ 200:
315
+ description: "successful operation"
316
+ schema:
317
+ $ref: "#/definitions/AssessmentPersonalityType"
318
+ /assessments/{assessment_id}/personality_types/{id}/personality_traits:
319
+ get:
320
+ tags:
321
+ - "Personality Types"
322
+ summary: "Get personality traits for assessment and personality type"
323
+ description: ""
324
+ operationId: "personality_traits_by_personality_type"
325
+ produces:
326
+ - "application/json"
327
+ parameters:
328
+ - name: "assessment_id"
329
+ in: "path"
330
+ required: true
331
+ type: "string"
332
+ - name: "id"
333
+ in: "path"
334
+ required: true
335
+ type: "string"
336
+ - name: "locale_key"
337
+ in: "query"
338
+ required: false
339
+ type: "string"
340
+ responses:
341
+ 200:
342
+ description: "successful operation"
343
+ schema:
344
+ type: "array"
345
+ items:
346
+ $ref: "#/definitions/AssessmentPersonalityTrait"
347
+ /assessments/{assessment_id}/slides:
348
+ get:
349
+ tags:
350
+ - "Slides"
351
+ summary: "Get list of slides for an assessment"
352
+ description: "This method allows you to get a list of the slides for this assessment.\
353
+ \ It includes the images for each slide and the position that the slides should\
354
+ \ be presented to the user."
355
+ operationId: "list"
356
+ produces:
357
+ - "application/json"
358
+ parameters:
359
+ - name: "assessment_id"
360
+ in: "path"
361
+ required: true
362
+ type: "string"
363
+ - name: "complete"
364
+ in: "query"
365
+ required: false
366
+ type: "boolean"
367
+ - name: "locale_key"
368
+ in: "query"
369
+ required: false
370
+ type: "string"
371
+ responses:
372
+ 200:
373
+ description: "successful operation"
374
+ schema:
375
+ type: "array"
376
+ items:
377
+ $ref: "#/definitions/AssessmentSlide"
378
+ post:
379
+ tags:
380
+ - "Slides"
381
+ operationId: "bulkUpdatePost"
382
+ produces:
383
+ - "application/json"
384
+ parameters:
385
+ - name: "assessment_id"
386
+ in: "path"
387
+ required: true
388
+ type: "string"
389
+ - in: "body"
390
+ name: "body"
391
+ required: false
392
+ schema:
393
+ type: "array"
394
+ items:
395
+ $ref: "#/definitions/UpdateAssessmentSlide"
396
+ responses:
397
+ 200:
398
+ description: "successful operation"
399
+ schema:
400
+ type: "array"
401
+ items:
402
+ $ref: "#/definitions/AssessmentSlide"
403
+ headers: {}
404
+ put:
405
+ tags:
406
+ - "Slides"
407
+ summary: "Bulk insert the slides for an assessment"
408
+ description: "This method allows you to insert an assessment's slide responses\
409
+ \ in bulk. id is a required field. The only acceptable attributes that you\
410
+ \ can insert are response and time_taken. response should be a true for \"\
411
+ me\" or false for \"not me\". The time_taken should be the time it took for\
412
+ \ the user to answer the question in milliseconds."
413
+ operationId: "bulkUpdate"
414
+ produces:
415
+ - "application/json"
416
+ parameters:
417
+ - name: "assessment_id"
418
+ in: "path"
419
+ required: true
420
+ type: "string"
421
+ - in: "body"
422
+ name: "body"
423
+ required: true
424
+ schema:
425
+ type: "array"
426
+ items:
427
+ $ref: "#/definitions/UpdateAssessmentSlide"
428
+ responses:
429
+ 200:
430
+ description: "successful operation"
431
+ schema:
432
+ type: "array"
433
+ items:
434
+ $ref: "#/definitions/AssessmentSlide"
435
+ /assessments/{assessment_id}/slides/{slide_id}:
436
+ post:
437
+ tags:
438
+ - "Slides"
439
+ operationId: "updatePost"
440
+ produces:
441
+ - "application/json"
442
+ parameters:
443
+ - name: "assessment_id"
444
+ in: "path"
445
+ required: true
446
+ type: "string"
447
+ - name: "slide_id"
448
+ in: "path"
449
+ required: true
450
+ type: "string"
451
+ - in: "body"
452
+ name: "body"
453
+ required: false
454
+ schema:
455
+ $ref: "#/definitions/UpdateAssessmentSlide"
456
+ responses:
457
+ 200:
458
+ description: "successful operation"
459
+ schema:
460
+ $ref: "#/definitions/AssessmentSlide"
461
+ headers: {}
462
+ put:
463
+ tags:
464
+ - "Slides"
465
+ summary: "Update a slide for an assessment"
466
+ description: "Alternatively, you can insert one slide at a time. The only acceptable\
467
+ \ attributes that you can insert are response and time_taken. response should\
468
+ \ be a true for \"me\" or false for \"not me\". The time_taken should be the\
469
+ \ time it took for the user to answer the question in milliseconds."
470
+ operationId: "update"
471
+ produces:
472
+ - "application/json"
473
+ parameters:
474
+ - name: "assessment_id"
475
+ in: "path"
476
+ required: true
477
+ type: "string"
478
+ - name: "slide_id"
479
+ in: "path"
480
+ required: true
481
+ type: "string"
482
+ - in: "body"
483
+ name: "body"
484
+ required: true
485
+ schema:
486
+ $ref: "#/definitions/UpdateAssessmentSlide"
487
+ responses:
488
+ 200:
489
+ description: "successful operation"
490
+ schema:
491
+ $ref: "#/definitions/AssessmentSlide"
492
+ /assessments/{assessment_id}/tags:
493
+ post:
494
+ tags:
495
+ - "Tags"
496
+ summary: "Add tags to an assessment"
497
+ description: "Adds new tags to the assessment. No tags will be removed."
498
+ operationId: "add"
499
+ produces:
500
+ - "application/json"
501
+ parameters:
502
+ - name: "assessment_id"
503
+ in: "path"
504
+ required: true
505
+ type: "string"
506
+ - in: "body"
507
+ name: "body"
508
+ required: false
509
+ schema:
510
+ $ref: "#/definitions/AssessmentTags"
511
+ responses:
512
+ 200:
513
+ description: "successful operation"
514
+ schema:
515
+ $ref: "#/definitions/Assessment"
516
+ put:
517
+ tags:
518
+ - "Tags"
519
+ summary: "Update the tags for an assessment"
520
+ description: "Adds or removes tags from the assessment as necessary to match\
521
+ \ the tag list provided."
522
+ operationId: "update"
523
+ produces:
524
+ - "application/json"
525
+ parameters:
526
+ - name: "assessment_id"
527
+ in: "path"
528
+ required: true
529
+ type: "string"
530
+ - in: "body"
531
+ name: "body"
532
+ required: false
533
+ schema:
534
+ $ref: "#/definitions/AssessmentTags"
535
+ responses:
536
+ 200:
537
+ description: "successful operation"
538
+ schema:
539
+ $ref: "#/definitions/Assessment"
540
+ delete:
541
+ tags:
542
+ - "Tags"
543
+ summary: "Delete tags from an assessment"
544
+ description: "Removes existing tags from the assessment. No tags will be added."
545
+ operationId: "delete"
546
+ produces:
547
+ - "application/json"
548
+ parameters:
549
+ - name: "assessment_id"
550
+ in: "path"
551
+ required: true
552
+ type: "string"
553
+ - in: "body"
554
+ name: "body"
555
+ required: false
556
+ schema:
557
+ $ref: "#/definitions/AssessmentTags"
558
+ responses:
559
+ 200:
560
+ description: "successful operation"
561
+ schema:
562
+ $ref: "#/definitions/Assessment"
563
+ /assessments/{id}:
564
+ get:
565
+ tags:
566
+ - "Assessments"
567
+ summary: "Get assessment by ID"
568
+ description: "This method allows you to get an assessment and/or slides, blend,\
569
+ \ types, traits, or career matches by its unique ID."
570
+ operationId: "get"
571
+ produces:
572
+ - "application/json"
573
+ parameters:
574
+ - name: "id"
575
+ in: "path"
576
+ required: true
577
+ type: "string"
578
+ - name: "data"
579
+ in: "query"
580
+ description: "CSV of data to be returned (slides, personality_blend, personality_types,\
581
+ \ personality_traits, career_matches)"
582
+ required: false
583
+ type: "string"
584
+ default: ""
585
+ - name: "image_pack"
586
+ in: "query"
587
+ description: "Default: linear"
588
+ required: false
589
+ type: "string"
590
+ default: "linear"
591
+ - name: "number_of_matches"
592
+ in: "query"
593
+ required: false
594
+ type: "integer"
595
+ format: "int32"
596
+ - name: "experience_levels"
597
+ in: "query"
598
+ required: false
599
+ type: "string"
600
+ - name: "search"
601
+ in: "query"
602
+ required: false
603
+ type: "string"
604
+ - name: "sort"
605
+ in: "query"
606
+ required: false
607
+ type: "string"
608
+ default: "score"
609
+ - name: "paged"
610
+ in: "query"
611
+ required: false
612
+ type: "boolean"
613
+ default: false
614
+ - name: "page"
615
+ in: "query"
616
+ required: false
617
+ type: "integer"
618
+ default: 1
619
+ format: "int32"
620
+ - name: "careers_per_page"
621
+ in: "query"
622
+ required: false
623
+ type: "integer"
624
+ default: 25
625
+ format: "int32"
626
+ - name: "locale_key"
627
+ in: "query"
628
+ required: false
629
+ type: "string"
630
+ responses:
631
+ 200:
632
+ description: "successful operation"
633
+ schema:
634
+ $ref: "#/definitions/AssessmentResponse"
635
+ /assessments/{id}/matches/assessments:
636
+ get:
637
+ tags:
638
+ - "Assessments"
639
+ summary: "Get matching assessments"
640
+ description: "This method allows you to get assessments IDs that match the given\
641
+ \ assessment ID."
642
+ operationId: "matchAssessments"
643
+ produces:
644
+ - "application/json"
645
+ parameters:
646
+ - name: "id"
647
+ in: "path"
648
+ required: true
649
+ type: "string"
650
+ - name: "number_of_matches"
651
+ in: "query"
652
+ required: false
653
+ type: "integer"
654
+ default: 10
655
+ format: "int32"
656
+ responses:
657
+ 200:
658
+ description: "successful operation"
659
+ schema:
660
+ type: "array"
661
+ items:
662
+ $ref: "#/definitions/AssessmentMatchScore"
663
+ /assessments/{id}/status:
664
+ get:
665
+ tags:
666
+ - "Assessments"
667
+ summary: "Get the slides or results for an assessment depending on its status"
668
+ description: "This method allows you to get the slides for incomplete assessments\
669
+ \ and the results for completed assessments."
670
+ operationId: "status"
671
+ produces:
672
+ - "application/json"
673
+ parameters:
674
+ - name: "id"
675
+ in: "path"
676
+ required: true
677
+ type: "string"
678
+ - name: "image_pack"
679
+ in: "query"
680
+ required: false
681
+ type: "string"
682
+ default: "linear"
683
+ - name: "locale_key"
684
+ in: "query"
685
+ required: false
686
+ type: "string"
687
+ responses:
688
+ 200:
689
+ description: "successful operation"
690
+ schema:
691
+ $ref: "#/definitions/AssessmentStatus"
692
+ /careers:
693
+ get:
694
+ tags:
695
+ - "Careers"
696
+ summary: "List all careers"
697
+ description: ""
698
+ operationId: "find"
699
+ produces:
700
+ - "application/json"
701
+ parameters:
702
+ - name: "page"
703
+ in: "query"
704
+ required: false
705
+ type: "integer"
706
+ default: 1
707
+ format: "int32"
708
+ - name: "careers_per_page"
709
+ in: "query"
710
+ required: false
711
+ type: "integer"
712
+ default: 25
713
+ format: "int32"
714
+ - name: "paged"
715
+ in: "query"
716
+ required: false
717
+ type: "boolean"
718
+ default: true
719
+ - name: "list_page"
720
+ in: "query"
721
+ required: false
722
+ type: "boolean"
723
+ default: false
724
+ - name: "experience_levels"
725
+ in: "query"
726
+ required: false
727
+ type: "string"
728
+ - name: "active"
729
+ in: "query"
730
+ required: false
731
+ type: "boolean"
732
+ default: true
733
+ - name: "modified_after"
734
+ in: "query"
735
+ required: false
736
+ type: "integer"
737
+ format: "int64"
738
+ - name: "locale_key"
739
+ in: "query"
740
+ required: false
741
+ type: "string"
742
+ responses:
743
+ 200:
744
+ description: "successful operation"
745
+ schema:
746
+ type: "array"
747
+ items:
748
+ $ref: "#/definitions/Career"
749
+ /careers/{career_id}:
750
+ get:
751
+ tags:
752
+ - "Careers"
753
+ summary: "Get a career by ID"
754
+ description: ""
755
+ operationId: "get"
756
+ produces:
757
+ - "application/json"
758
+ parameters:
759
+ - name: "career_id"
760
+ in: "path"
761
+ required: true
762
+ type: "string"
763
+ - name: "locale_key"
764
+ in: "query"
765
+ required: false
766
+ type: "string"
767
+ responses:
768
+ 200:
769
+ description: "successful operation"
770
+ schema:
771
+ $ref: "#/definitions/Career"
772
+ /decks:
773
+ get:
774
+ tags:
775
+ - "Decks"
776
+ summary: "Get a list of decks"
777
+ description: "This method allows you to get a list of all decks ordered by name. "
778
+ operationId: "list"
779
+ produces:
780
+ - "application/json"
781
+ parameters:
782
+ - name: "image_pack"
783
+ in: "query"
784
+ required: false
785
+ type: "string"
786
+ default: "flat"
787
+ - name: "validated"
788
+ in: "query"
789
+ required: false
790
+ type: "boolean"
791
+ - name: "locale_key"
792
+ in: "query"
793
+ required: false
794
+ type: "string"
795
+ - name: "data"
796
+ in: "query"
797
+ description: "CSV of data to be returned (badges, personality_traits, personality_types,\
798
+ \ types_with_traits) Default: badges"
799
+ required: false
800
+ type: "string"
801
+ default: "badges"
802
+ responses:
803
+ 200:
804
+ description: "successful operation"
805
+ schema:
806
+ type: "array"
807
+ items:
808
+ $ref: "#/definitions/Deck"
809
+ /decks/{deck_id}:
810
+ get:
811
+ tags:
812
+ - "Decks"
813
+ summary: "Get a deck"
814
+ description: "This method allows you to get a deck."
815
+ operationId: "getDeck"
816
+ produces:
817
+ - "application/json"
818
+ parameters:
819
+ - name: "deck_id"
820
+ in: "path"
821
+ required: true
822
+ type: "string"
823
+ - name: "image_pack"
824
+ in: "query"
825
+ required: false
826
+ type: "string"
827
+ default: "flat"
828
+ - name: "locale_key"
829
+ in: "query"
830
+ required: false
831
+ type: "string"
832
+ - name: "data"
833
+ in: "query"
834
+ description: "CSV of data to be returned (badges, personality_traits, personality_types,\
835
+ \ types_with_traits) Default: badges"
836
+ required: false
837
+ type: "string"
838
+ default: "badges"
839
+ responses:
840
+ 200:
841
+ description: "successful operation"
842
+ schema:
843
+ $ref: "#/definitions/Deck"
844
+ /decks/{deck_id}/personality_types:
845
+ get:
846
+ tags:
847
+ - "Decks"
848
+ summary: "Get a list of personality types"
849
+ description: "This method allows you to get a list of all personality types\
850
+ \ by deck ordered by name."
851
+ operationId: "personality_types"
852
+ produces:
853
+ - "application/json"
854
+ parameters:
855
+ - name: "deck_id"
856
+ in: "path"
857
+ required: true
858
+ type: "string"
859
+ - name: "image_pack"
860
+ in: "query"
861
+ required: false
862
+ type: "string"
863
+ - name: "localeKey"
864
+ in: "query"
865
+ required: false
866
+ type: "string"
867
+ responses:
868
+ 200:
869
+ description: "successful operation"
870
+ schema:
871
+ type: "array"
872
+ items:
873
+ $ref: "#/definitions/PersonalityType"
874
+ /environments/personality_types/{personality_type_id}:
875
+ get:
876
+ tags:
877
+ - "Environments"
878
+ summary: "Get an environment for a personality type"
879
+ description: "This method allows you to get an environment for a personality\
880
+ \ type."
881
+ operationId: "list"
882
+ produces:
883
+ - "application/json"
884
+ parameters:
885
+ - name: "personality_type_id"
886
+ in: "path"
887
+ required: true
888
+ type: "string"
889
+ - name: "locale_key"
890
+ in: "query"
891
+ required: false
892
+ type: "string"
893
+ responses:
894
+ 200:
895
+ description: "successful operation"
896
+ schema:
897
+ type: "array"
898
+ items:
899
+ $ref: "#/definitions/Environment"
900
+ /famous_people/personality_types/{personality_type_id}:
901
+ get:
902
+ tags:
903
+ - "Famous People"
904
+ summary: "Get famous people for a personality type"
905
+ description: "This method allows you to get famous people for a personality\
906
+ \ type."
907
+ operationId: "list"
908
+ produces:
909
+ - "application/json"
910
+ parameters:
911
+ - name: "personality_type_id"
912
+ in: "path"
913
+ required: true
914
+ type: "string"
915
+ responses:
916
+ 200:
917
+ description: "successful operation"
918
+ schema:
919
+ type: "array"
920
+ items:
921
+ $ref: "#/definitions/FamousPerson"
922
+ /locales:
923
+ get:
924
+ tags:
925
+ - "Locales"
926
+ summary: "List all the Locales"
927
+ description: ""
928
+ operationId: "listLocales"
929
+ produces:
930
+ - "application/json"
931
+ parameters: []
932
+ responses:
933
+ 200:
934
+ description: "successful operation"
935
+ schema:
936
+ type: "array"
937
+ items:
938
+ $ref: "#/definitions/I18nLocale"
939
+ /locales/{key_or_id}:
940
+ get:
941
+ tags:
942
+ - "Locales"
943
+ summary: "Get a locale by it's key or ID"
944
+ description: ""
945
+ operationId: "findLocale"
946
+ produces:
947
+ - "application/json"
948
+ parameters:
949
+ - name: "key_or_id"
950
+ in: "path"
951
+ required: true
952
+ type: "string"
953
+ responses:
954
+ 200:
955
+ description: "successful operation"
956
+ schema:
957
+ $ref: "#/definitions/I18nLocale"
958
+ /majors:
959
+ get:
960
+ tags:
961
+ - "Majors"
962
+ summary: "List all majors"
963
+ description: ""
964
+ operationId: "find"
965
+ produces:
966
+ - "application/json"
967
+ parameters:
968
+ - name: "page"
969
+ in: "query"
970
+ required: false
971
+ type: "integer"
972
+ default: 1
973
+ format: "int32"
974
+ - name: "majors_per_page"
975
+ in: "query"
976
+ required: false
977
+ type: "integer"
978
+ default: 25
979
+ format: "int32"
980
+ - name: "paged"
981
+ in: "query"
982
+ required: false
983
+ type: "boolean"
984
+ default: true
985
+ - name: "list_page"
986
+ in: "query"
987
+ required: false
988
+ type: "boolean"
989
+ default: true
990
+ - name: "active"
991
+ in: "query"
992
+ required: false
993
+ type: "boolean"
994
+ default: true
995
+ - name: "modified_after"
996
+ in: "query"
997
+ required: false
998
+ type: "integer"
999
+ format: "int64"
1000
+ - name: "locale_key"
1001
+ in: "query"
1002
+ required: false
1003
+ type: "string"
1004
+ responses:
1005
+ 200:
1006
+ description: "successful operation"
1007
+ schema:
1008
+ type: "array"
1009
+ items:
1010
+ $ref: "#/definitions/Major"
1011
+ /majors/{major_id}:
1012
+ get:
1013
+ tags:
1014
+ - "Majors"
1015
+ summary: "Get a major by ID"
1016
+ description: ""
1017
+ operationId: "get"
1018
+ produces:
1019
+ - "application/json"
1020
+ parameters:
1021
+ - name: "major_id"
1022
+ in: "path"
1023
+ required: true
1024
+ type: "string"
1025
+ - name: "locale_key"
1026
+ in: "query"
1027
+ required: false
1028
+ type: "string"
1029
+ responses:
1030
+ 200:
1031
+ description: "successful operation"
1032
+ schema:
1033
+ $ref: "#/definitions/Major"
1034
+ /profiles/{profile_id}:
1035
+ get:
1036
+ tags:
1037
+ - "Profiles"
1038
+ summary: "get a profile by id"
1039
+ description: ""
1040
+ parameters:
1041
+ - name: "profile_id"
1042
+ in: "path"
1043
+ required: true
1044
+ type: "string"
1045
+ produces:
1046
+ - "application/json"
1047
+ responses:
1048
+ 200:
1049
+ description: ok
1050
+ schema:
1051
+ $ref: "#/definitions/Profile"
1052
+ delete:
1053
+ tags:
1054
+ - "Profiles"
1055
+ summary: "delete a profile by id"
1056
+ description: ""
1057
+ parameters:
1058
+ - name: "profile_id"
1059
+ in: "path"
1060
+ required: true
1061
+ type: "string"
1062
+ produces:
1063
+ - "application/json"
1064
+ responses:
1065
+ 200:
1066
+ description: ok
1067
+
1068
+ /profiles:
1069
+ get:
1070
+ tags:
1071
+ - "Profiles"
1072
+ summary: "Get a list of, or search profiles using different attributes"
1073
+ description: "Listing or searching profiles"
1074
+ parameters:
1075
+ - name: "query"
1076
+ in: "query"
1077
+ required: false
1078
+ type: "string"
1079
+ - name: "order_columns"
1080
+ in: "query"
1081
+ required: false
1082
+ type: "array"
1083
+ items:
1084
+ type: "string"
1085
+ - name: "ordering"
1086
+ in: "query"
1087
+ required: false
1088
+ type: "string"
1089
+ enum: [
1090
+ "ASC",
1091
+ "DESC"]
1092
+ - name: "paging_cursor"
1093
+ in: "query"
1094
+ required: false
1095
+ type: "string"
1096
+ - name: "per_page"
1097
+ in: "query"
1098
+ required: false
1099
+ type: "integer"
1100
+ default: 50
1101
+ produces:
1102
+ - "application/json"
1103
+ responses:
1104
+ 200:
1105
+ description: ok
1106
+ headers:
1107
+ Link:
1108
+ type: "string"
1109
+ description: "Contains RFC 5988 compliant link header with urls for paging results. Provided urls for first, next, prev, and last.\n Example:\n
1110
+ <https://api.traitify.com/v1/profiles?per_page=30&paging_cursor=V2hhdGV2ZXI>; rel=\"next\",
1111
+ <https://api.traitify.com/v1/profiles?per_page=30&paging_cursor=SGVsbG8>; rel=\"prev\""
1112
+ schema:
1113
+ type: "array"
1114
+ items:
1115
+ $ref: "#/definitions/Profile"
1116
+ /analytics/decks/{deck_id}/assessments:
1117
+ get:
1118
+ tags:
1119
+ - "Analytics"
1120
+ summary: ""
1121
+ description: ""
1122
+ produces:
1123
+ - "application/json"
1124
+ parameters:
1125
+ - name: "deck_id"
1126
+ in: "path"
1127
+ required: true
1128
+ type: "string"
1129
+ description: "The deck_id that you want to analyze assessments of"
1130
+ - name: "stats"
1131
+ in: "query"
1132
+ required: false
1133
+ description: "a list of statistics to return TODO: Describe stats"
1134
+ type: "array"
1135
+ items:
1136
+ type: "string"
1137
+ enum: [
1138
+ "created_count",
1139
+ "started_count",
1140
+ "completed_count"
1141
+ ]
1142
+ - name: "order_by"
1143
+ in: "query"
1144
+ type: "string"
1145
+ enum: [
1146
+ "created_count",
1147
+ "started_count",
1148
+ "completed_count"
1149
+ ]
1150
+ default: "completed_count"
1151
+ - name: "ordering"
1152
+ in: "query"
1153
+ required: false
1154
+ type: "string"
1155
+ enum: [
1156
+ "ASC",
1157
+ "DESC"]
1158
+ default: "DESC"
1159
+ responses:
1160
+ 200:
1161
+ description: ok
1162
+ schema:
1163
+ type: "array"
1164
+ items:
1165
+ $ref: "#/definitions/AssessmentStatsResponse"
1166
+ /analytics/decks/{deck_id}/personality_traits:
1167
+ get:
1168
+ tags:
1169
+ - "Analytics"
1170
+ summary: "Retrieve various aggregate statistics about personality traits"
1171
+ description: "Retrieve trait statistics"
1172
+ parameters:
1173
+ - name: "deck_id"
1174
+ in: "path"
1175
+ required: true
1176
+ type: "string"
1177
+ description: "The deck_id that you want to analyze assessments of"
1178
+ - name: "stats"
1179
+ in: "query"
1180
+ required: false
1181
+ description: "a list of statistics to return TODO: Describe stats"
1182
+ type: "array"
1183
+ items:
1184
+ type: "string"
1185
+ enum: [
1186
+ "avg",
1187
+ "min",
1188
+ "max",
1189
+ "stdev",
1190
+ "iqr",
1191
+ "outlier",
1192
+ "sum",
1193
+ "quartiles"
1194
+ ]
1195
+ - name: "personality_trait_ids"
1196
+ in: "query"
1197
+ required: false
1198
+ type: "array"
1199
+ items:
1200
+ type: "string"
1201
+ description: "Return only provided traits. Defaults to returning all traits"
1202
+ - name: "profile_ids"
1203
+ in: "query"
1204
+ required: false
1205
+ type: "array"
1206
+ items:
1207
+ type: "string"
1208
+ - name: "order_by"
1209
+ type: "string"
1210
+ in: "query"
1211
+ enum: [
1212
+ "avg",
1213
+ "min",
1214
+ "max",
1215
+ "stdev",
1216
+ "iqr",
1217
+ "outlier",
1218
+ "sum",
1219
+ "quartiles",
1220
+ "top_count"
1221
+ ]
1222
+ default: "avg"
1223
+ - name: "ordering"
1224
+ in: "query"
1225
+ required: false
1226
+ type: "string"
1227
+ enum: [
1228
+ "ASC",
1229
+ "DESC"]
1230
+ default: "DESC"
1231
+ - name: "locale_key"
1232
+ in: "query"
1233
+ required: false
1234
+ type: "string"
1235
+ produces:
1236
+ - "application/json"
1237
+ responses:
1238
+ 200:
1239
+ description: ok
1240
+ schema:
1241
+ type: "array"
1242
+ items:
1243
+ $ref: "#/definitions/AssessmentStatsResponse"
1244
+ /analytics/decks/{deck_id}/personality_types:
1245
+ get:
1246
+ tags:
1247
+ - "Analytics"
1248
+ summary: "Retrieve various statistics about personality types"
1249
+ description: "Retrieve type statistics"
1250
+ parameters:
1251
+ - name: "deck_id"
1252
+ in: "path"
1253
+ required: true
1254
+ type: "string"
1255
+ description: "The deck_id that you want to analyze assessments of"
1256
+ - name: "stats"
1257
+ in: "query"
1258
+ required: false
1259
+ description: "a list of statistics to return"
1260
+ type: "array"
1261
+ items:
1262
+ type: "string"
1263
+ enum: [
1264
+ "avg",
1265
+ "min",
1266
+ "max",
1267
+ "stdev",
1268
+ "iqr",
1269
+ "outlier",
1270
+ "sum",
1271
+ "quartiles",
1272
+ "top_count"
1273
+ ]
1274
+ - name: "personality_type_ids"
1275
+ in: "query"
1276
+ required: false
1277
+ type: "array"
1278
+ items:
1279
+ type: "string"
1280
+ description: "Return only provided types. Defaults to returning all types"
1281
+ - name: "profile_ids"
1282
+ in: "query"
1283
+ required: false
1284
+ type: "array"
1285
+ items:
1286
+ type: "string"
1287
+ - name: "order_by"
1288
+ type: "string"
1289
+ in: "query"
1290
+ enum: [
1291
+ "avg",
1292
+ "min",
1293
+ "max",
1294
+ "stdev",
1295
+ "iqr",
1296
+ "outlier",
1297
+ "sum",
1298
+ "quartiles",
1299
+ "top_count"
1300
+ ]
1301
+ - name: "ordering"
1302
+ in: "query"
1303
+ required: false
1304
+ type: "string"
1305
+ enum: [
1306
+ "ASC",
1307
+ "DESC"]
1308
+ - name: "image_pack"
1309
+ in: "query"
1310
+ required: false
1311
+ type: "string"
1312
+ default: "flat"
1313
+ - name: "locale_key"
1314
+ in: "query"
1315
+ required: false
1316
+ type: "string"
1317
+ produces:
1318
+ - "application/json"
1319
+ responses:
1320
+ 200:
1321
+ description: ok
1322
+ schema:
1323
+ type: "array"
1324
+ items:
1325
+ $ref: "#/definitions/AssessmentStatsResponse"
1326
+ /profiles/{profile_id}/matches/profiles/{to_profile_id}:
1327
+ get:
1328
+ tags:
1329
+ - "Profiles"
1330
+ summary: "Get the match score for a profile to another profile"
1331
+ description: ""
1332
+ operationId: "getProfileToProfileMatchScore"
1333
+ produces:
1334
+ - "application/json"
1335
+ parameters:
1336
+ - name: "profile_id"
1337
+ in: "path"
1338
+ required: true
1339
+ type: "string"
1340
+ - name: "to_profile_id"
1341
+ in: "path"
1342
+ required: true
1343
+ type: "string"
1344
+ - name: "deck_id"
1345
+ in: "query"
1346
+ required: true
1347
+ type: "string"
1348
+ responses:
1349
+ 200:
1350
+ description: "successful operation"
1351
+ schema:
1352
+ $ref: "#/definitions/ScoredProfile"