@shuffl/api-contracts 0.5.0 → 0.5.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/openapi.json CHANGED
@@ -35722,6 +35722,9 @@
35722
35722
  {
35723
35723
  "const": "playbooks.mine"
35724
35724
  },
35725
+ {
35726
+ "const": "playbooks.nudge"
35727
+ },
35725
35728
  {
35726
35729
  "const": "playbooks.person"
35727
35730
  },
@@ -37450,6 +37453,9 @@
37450
37453
  {
37451
37454
  "const": "playbooks.mine"
37452
37455
  },
37456
+ {
37457
+ "const": "playbooks.nudge"
37458
+ },
37453
37459
  {
37454
37460
  "const": "playbooks.person"
37455
37461
  },
@@ -38753,6 +38759,9 @@
38753
38759
  {
38754
38760
  "const": "playbooks.mine"
38755
38761
  },
38762
+ {
38763
+ "const": "playbooks.nudge"
38764
+ },
38756
38765
  {
38757
38766
  "const": "playbooks.person"
38758
38767
  },
@@ -131772,10 +131781,10 @@
131772
131781
  "x-shuffl-permission": "playbooks.mine"
131773
131782
  }
131774
131783
  },
131775
- "/manage/playbooks/person": {
131784
+ "/manage/playbooks/nudge": {
131776
131785
  "post": {
131777
- "operationId": "playbooks.person",
131778
- "summary": "Read a new hire's onboarding plan",
131786
+ "operationId": "playbooks.nudge",
131787
+ "summary": "Send someone one Slack nudge about a hire’s overdue playbook to-dos, at most once a day",
131779
131788
  "requestBody": {
131780
131789
  "required": true,
131781
131790
  "content": {
@@ -131783,12 +131792,26 @@
131783
131792
  "schema": {
131784
131793
  "type": "object",
131785
131794
  "properties": {
131786
- "personId": {
131795
+ "enrollmentId": {
131787
131796
  "type": "string"
131797
+ },
131798
+ "ownerPersonId": {
131799
+ "type": "string"
131800
+ },
131801
+ "confirm": {
131802
+ "const": "playbooks.nudge"
131803
+ },
131804
+ "requestKey": {
131805
+ "type": "string",
131806
+ "minLength": 1,
131807
+ "maxLength": 128
131788
131808
  }
131789
131809
  },
131790
131810
  "required": [
131791
- "personId"
131811
+ "enrollmentId",
131812
+ "ownerPersonId",
131813
+ "confirm",
131814
+ "requestKey"
131792
131815
  ],
131793
131816
  "additionalProperties": false
131794
131817
  }
@@ -131803,221 +131826,118 @@
131803
131826
  "schema": {
131804
131827
  "type": "object",
131805
131828
  "properties": {
131806
- "buddyTo": {
131807
- "type": "array",
131808
- "items": {
131809
- "type": "object",
131810
- "properties": {
131811
- "enrollmentId": {
131812
- "type": "string"
131813
- },
131814
- "hire": {
131815
- "type": "object",
131816
- "properties": {
131817
- "id": {
131818
- "type": "string"
131819
- },
131820
- "name": {
131821
- "type": "string"
131822
- }
131823
- },
131824
- "required": [
131825
- "id",
131826
- "name"
131827
- ],
131828
- "additionalProperties": false
131829
- },
131830
- "invitation": {
131831
- "anyOf": [
131832
- {
131833
- "type": "null"
131834
- },
131835
- {
131836
- "const": "accepted"
131837
- },
131838
- {
131839
- "const": "declined"
131840
- },
131841
- {
131842
- "const": "pending"
131843
- },
131844
- {
131845
- "const": "withdrawn"
131846
- }
131847
- ]
131848
- },
131849
- "programId": {
131850
- "type": "string"
131851
- },
131852
- "programName": {
131853
- "type": "string"
131854
- },
131855
- "startDate": {
131856
- "type": "string"
131857
- }
131858
- },
131859
- "required": [
131860
- "enrollmentId",
131861
- "hire",
131862
- "invitation",
131863
- "programId",
131864
- "programName",
131865
- "startDate"
131866
- ],
131867
- "additionalProperties": false
131868
- }
131869
- },
131870
- "enrollments": {
131871
- "type": "array",
131872
- "items": {
131873
- "type": "object",
131874
- "properties": {
131875
- "buddy": {
131876
- "anyOf": [
131877
- {
131878
- "type": "null"
131879
- },
131880
- {
131881
- "type": "object",
131882
- "properties": {
131883
- "id": {
131884
- "type": "string"
131885
- },
131886
- "name": {
131887
- "type": "string"
131888
- }
131889
- },
131890
- "required": [
131891
- "id",
131892
- "name"
131893
- ],
131894
- "additionalProperties": false
131895
- }
131896
- ]
131897
- },
131898
- "buddyOn": {
131899
- "type": "boolean"
131900
- },
131901
- "enrollmentId": {
131902
- "type": "string"
131903
- },
131904
- "invitation": {
131905
- "anyOf": [
131906
- {
131907
- "type": "null"
131908
- },
131909
- {
131910
- "const": "accepted"
131911
- },
131912
- {
131913
- "const": "declined"
131914
- },
131915
- {
131916
- "const": "pending"
131917
- },
131918
- {
131919
- "const": "withdrawn"
131920
- }
131921
- ]
131922
- },
131923
- "programId": {
131924
- "type": "string"
131925
- },
131926
- "programName": {
131927
- "type": "string"
131928
- },
131929
- "revision": {
131930
- "type": "number"
131931
- },
131932
- "startDate": {
131933
- "type": "string"
131934
- }
131935
- },
131936
- "required": [
131937
- "buddy",
131938
- "buddyOn",
131939
- "enrollmentId",
131940
- "invitation",
131941
- "programId",
131942
- "programName",
131943
- "revision",
131944
- "startDate"
131945
- ],
131946
- "additionalProperties": false
131947
- }
131948
- }
131949
- },
131950
- "required": [
131951
- "buddyTo",
131952
- "enrollments"
131953
- ],
131954
- "additionalProperties": false
131955
- }
131956
- }
131957
- }
131958
- },
131959
- "400": {
131960
- "description": "400",
131961
- "content": {
131962
- "application/json": {
131963
- "schema": {
131964
- "oneOf": [
131965
- {
131829
+ "receipt": {
131966
131830
  "type": "object",
131967
131831
  "properties": {
131968
- "defined": {
131969
- "const": true
131970
- },
131971
- "code": {
131972
- "const": "BAD_REQUEST"
131832
+ "completedAt": {
131833
+ "anyOf": [
131834
+ {
131835
+ "type": "string",
131836
+ "format": "date-time"
131837
+ },
131838
+ {
131839
+ "type": "null"
131840
+ }
131841
+ ]
131973
131842
  },
131974
- "status": {
131975
- "const": 400
131843
+ "createdAt": {
131844
+ "type": "string",
131845
+ "format": "date-time"
131976
131846
  },
131977
- "message": {
131847
+ "id": {
131978
131848
  "type": "string",
131979
- "default": "Check the request input."
131849
+ "format": "uuid"
131980
131850
  },
131981
- "data": {}
131982
- },
131983
- "required": [
131984
- "defined",
131985
- "code",
131986
- "status",
131987
- "message"
131988
- ]
131989
- },
131990
- {
131991
- "type": "object",
131992
- "properties": {
131993
- "defined": {
131994
- "const": false
131851
+ "operation": {
131852
+ "type": "string"
131995
131853
  },
131996
- "code": {
131854
+ "requestKey": {
131997
131855
  "type": "string"
131998
131856
  },
131999
131857
  "status": {
132000
- "type": "number"
132001
- },
132002
- "message": {
131858
+ "enum": [
131859
+ "running",
131860
+ "succeeded",
131861
+ "failed",
131862
+ "unknown"
131863
+ ],
132003
131864
  "type": "string"
132004
- },
132005
- "data": {}
131865
+ }
132006
131866
  },
132007
131867
  "required": [
132008
- "defined",
132009
- "code",
132010
- "status",
132011
- "message"
131868
+ "completedAt",
131869
+ "createdAt",
131870
+ "id",
131871
+ "operation",
131872
+ "requestKey",
131873
+ "status"
131874
+ ]
131875
+ },
131876
+ "result": {
131877
+ "anyOf": [
131878
+ {
131879
+ "type": "object",
131880
+ "properties": {
131881
+ "nudgedAt": {
131882
+ "anyOf": [
131883
+ {
131884
+ "type": "null"
131885
+ },
131886
+ {
131887
+ "type": "string",
131888
+ "format": "date-time"
131889
+ }
131890
+ ]
131891
+ },
131892
+ "status": {
131893
+ "anyOf": [
131894
+ {
131895
+ "const": "failed"
131896
+ },
131897
+ {
131898
+ "const": "no_slack"
131899
+ },
131900
+ {
131901
+ "const": "nothing_overdue"
131902
+ },
131903
+ {
131904
+ "const": "off"
131905
+ },
131906
+ {
131907
+ "const": "recent"
131908
+ },
131909
+ {
131910
+ "const": "sent"
131911
+ }
131912
+ ]
131913
+ },
131914
+ "todos": {
131915
+ "type": "number"
131916
+ }
131917
+ },
131918
+ "required": [
131919
+ "nudgedAt",
131920
+ "status",
131921
+ "todos"
131922
+ ],
131923
+ "additionalProperties": false
131924
+ },
131925
+ {
131926
+ "type": "null"
131927
+ }
132012
131928
  ]
132013
131929
  }
131930
+ },
131931
+ "required": [
131932
+ "receipt",
131933
+ "result"
132014
131934
  ]
132015
131935
  }
132016
131936
  }
132017
131937
  }
132018
131938
  },
132019
- "401": {
132020
- "description": "401",
131939
+ "400": {
131940
+ "description": "400",
132021
131941
  "content": {
132022
131942
  "application/json": {
132023
131943
  "schema": {
@@ -132029,14 +131949,683 @@
132029
131949
  "const": true
132030
131950
  },
132031
131951
  "code": {
132032
- "const": "UNAUTHORIZED"
131952
+ "const": "BAD_REQUEST"
132033
131953
  },
132034
131954
  "status": {
132035
- "const": 401
131955
+ "const": 400
132036
131956
  },
132037
131957
  "message": {
132038
131958
  "type": "string",
132039
- "default": "A valid Shuffl API token is required."
131959
+ "default": "Check the request input."
131960
+ },
131961
+ "data": {}
131962
+ },
131963
+ "required": [
131964
+ "defined",
131965
+ "code",
131966
+ "status",
131967
+ "message"
131968
+ ]
131969
+ },
131970
+ {
131971
+ "type": "object",
131972
+ "properties": {
131973
+ "defined": {
131974
+ "const": false
131975
+ },
131976
+ "code": {
131977
+ "type": "string"
131978
+ },
131979
+ "status": {
131980
+ "type": "number"
131981
+ },
131982
+ "message": {
131983
+ "type": "string"
131984
+ },
131985
+ "data": {}
131986
+ },
131987
+ "required": [
131988
+ "defined",
131989
+ "code",
131990
+ "status",
131991
+ "message"
131992
+ ]
131993
+ }
131994
+ ]
131995
+ }
131996
+ }
131997
+ }
131998
+ },
131999
+ "401": {
132000
+ "description": "401",
132001
+ "content": {
132002
+ "application/json": {
132003
+ "schema": {
132004
+ "oneOf": [
132005
+ {
132006
+ "type": "object",
132007
+ "properties": {
132008
+ "defined": {
132009
+ "const": true
132010
+ },
132011
+ "code": {
132012
+ "const": "UNAUTHORIZED"
132013
+ },
132014
+ "status": {
132015
+ "const": 401
132016
+ },
132017
+ "message": {
132018
+ "type": "string",
132019
+ "default": "A valid Shuffl API token is required."
132020
+ },
132021
+ "data": {}
132022
+ },
132023
+ "required": [
132024
+ "defined",
132025
+ "code",
132026
+ "status",
132027
+ "message"
132028
+ ]
132029
+ },
132030
+ {
132031
+ "type": "object",
132032
+ "properties": {
132033
+ "defined": {
132034
+ "const": false
132035
+ },
132036
+ "code": {
132037
+ "type": "string"
132038
+ },
132039
+ "status": {
132040
+ "type": "number"
132041
+ },
132042
+ "message": {
132043
+ "type": "string"
132044
+ },
132045
+ "data": {}
132046
+ },
132047
+ "required": [
132048
+ "defined",
132049
+ "code",
132050
+ "status",
132051
+ "message"
132052
+ ]
132053
+ }
132054
+ ]
132055
+ }
132056
+ }
132057
+ }
132058
+ },
132059
+ "403": {
132060
+ "description": "403",
132061
+ "content": {
132062
+ "application/json": {
132063
+ "schema": {
132064
+ "oneOf": [
132065
+ {
132066
+ "type": "object",
132067
+ "properties": {
132068
+ "defined": {
132069
+ "const": true
132070
+ },
132071
+ "code": {
132072
+ "const": "FORBIDDEN"
132073
+ },
132074
+ "status": {
132075
+ "const": 403
132076
+ },
132077
+ "message": {
132078
+ "type": "string",
132079
+ "default": "This token or team role does not permit the operation."
132080
+ },
132081
+ "data": {}
132082
+ },
132083
+ "required": [
132084
+ "defined",
132085
+ "code",
132086
+ "status",
132087
+ "message"
132088
+ ]
132089
+ },
132090
+ {
132091
+ "type": "object",
132092
+ "properties": {
132093
+ "defined": {
132094
+ "const": false
132095
+ },
132096
+ "code": {
132097
+ "type": "string"
132098
+ },
132099
+ "status": {
132100
+ "type": "number"
132101
+ },
132102
+ "message": {
132103
+ "type": "string"
132104
+ },
132105
+ "data": {}
132106
+ },
132107
+ "required": [
132108
+ "defined",
132109
+ "code",
132110
+ "status",
132111
+ "message"
132112
+ ]
132113
+ }
132114
+ ]
132115
+ }
132116
+ }
132117
+ }
132118
+ },
132119
+ "404": {
132120
+ "description": "404",
132121
+ "content": {
132122
+ "application/json": {
132123
+ "schema": {
132124
+ "oneOf": [
132125
+ {
132126
+ "type": "object",
132127
+ "properties": {
132128
+ "defined": {
132129
+ "const": true
132130
+ },
132131
+ "code": {
132132
+ "const": "NOT_FOUND"
132133
+ },
132134
+ "status": {
132135
+ "const": 404
132136
+ },
132137
+ "message": {
132138
+ "type": "string",
132139
+ "default": "The requested resource was not found."
132140
+ },
132141
+ "data": {}
132142
+ },
132143
+ "required": [
132144
+ "defined",
132145
+ "code",
132146
+ "status",
132147
+ "message"
132148
+ ]
132149
+ },
132150
+ {
132151
+ "type": "object",
132152
+ "properties": {
132153
+ "defined": {
132154
+ "const": false
132155
+ },
132156
+ "code": {
132157
+ "type": "string"
132158
+ },
132159
+ "status": {
132160
+ "type": "number"
132161
+ },
132162
+ "message": {
132163
+ "type": "string"
132164
+ },
132165
+ "data": {}
132166
+ },
132167
+ "required": [
132168
+ "defined",
132169
+ "code",
132170
+ "status",
132171
+ "message"
132172
+ ]
132173
+ }
132174
+ ]
132175
+ }
132176
+ }
132177
+ }
132178
+ },
132179
+ "409": {
132180
+ "description": "409",
132181
+ "content": {
132182
+ "application/json": {
132183
+ "schema": {
132184
+ "oneOf": [
132185
+ {
132186
+ "type": "object",
132187
+ "properties": {
132188
+ "defined": {
132189
+ "const": true
132190
+ },
132191
+ "code": {
132192
+ "const": "CONFLICT"
132193
+ },
132194
+ "status": {
132195
+ "const": 409
132196
+ },
132197
+ "message": {
132198
+ "type": "string",
132199
+ "default": "The resource changed or the request key was reused."
132200
+ },
132201
+ "data": {}
132202
+ },
132203
+ "required": [
132204
+ "defined",
132205
+ "code",
132206
+ "status",
132207
+ "message"
132208
+ ]
132209
+ },
132210
+ {
132211
+ "type": "object",
132212
+ "properties": {
132213
+ "defined": {
132214
+ "const": false
132215
+ },
132216
+ "code": {
132217
+ "type": "string"
132218
+ },
132219
+ "status": {
132220
+ "type": "number"
132221
+ },
132222
+ "message": {
132223
+ "type": "string"
132224
+ },
132225
+ "data": {}
132226
+ },
132227
+ "required": [
132228
+ "defined",
132229
+ "code",
132230
+ "status",
132231
+ "message"
132232
+ ]
132233
+ }
132234
+ ]
132235
+ }
132236
+ }
132237
+ }
132238
+ },
132239
+ "412": {
132240
+ "description": "412",
132241
+ "content": {
132242
+ "application/json": {
132243
+ "schema": {
132244
+ "oneOf": [
132245
+ {
132246
+ "type": "object",
132247
+ "properties": {
132248
+ "defined": {
132249
+ "const": true
132250
+ },
132251
+ "code": {
132252
+ "const": "PRECONDITION_FAILED"
132253
+ },
132254
+ "status": {
132255
+ "const": 412
132256
+ },
132257
+ "message": {
132258
+ "type": "string",
132259
+ "default": "The team is not ready for this operation."
132260
+ },
132261
+ "data": {}
132262
+ },
132263
+ "required": [
132264
+ "defined",
132265
+ "code",
132266
+ "status",
132267
+ "message"
132268
+ ]
132269
+ },
132270
+ {
132271
+ "type": "object",
132272
+ "properties": {
132273
+ "defined": {
132274
+ "const": false
132275
+ },
132276
+ "code": {
132277
+ "type": "string"
132278
+ },
132279
+ "status": {
132280
+ "type": "number"
132281
+ },
132282
+ "message": {
132283
+ "type": "string"
132284
+ },
132285
+ "data": {}
132286
+ },
132287
+ "required": [
132288
+ "defined",
132289
+ "code",
132290
+ "status",
132291
+ "message"
132292
+ ]
132293
+ }
132294
+ ]
132295
+ }
132296
+ }
132297
+ }
132298
+ },
132299
+ "429": {
132300
+ "description": "429",
132301
+ "content": {
132302
+ "application/json": {
132303
+ "schema": {
132304
+ "oneOf": [
132305
+ {
132306
+ "type": "object",
132307
+ "properties": {
132308
+ "defined": {
132309
+ "const": true
132310
+ },
132311
+ "code": {
132312
+ "const": "TOO_MANY_REQUESTS"
132313
+ },
132314
+ "status": {
132315
+ "const": 429
132316
+ },
132317
+ "message": {
132318
+ "type": "string",
132319
+ "default": "Too many requests. Try again shortly."
132320
+ },
132321
+ "data": {}
132322
+ },
132323
+ "required": [
132324
+ "defined",
132325
+ "code",
132326
+ "status",
132327
+ "message"
132328
+ ]
132329
+ },
132330
+ {
132331
+ "type": "object",
132332
+ "properties": {
132333
+ "defined": {
132334
+ "const": false
132335
+ },
132336
+ "code": {
132337
+ "type": "string"
132338
+ },
132339
+ "status": {
132340
+ "type": "number"
132341
+ },
132342
+ "message": {
132343
+ "type": "string"
132344
+ },
132345
+ "data": {}
132346
+ },
132347
+ "required": [
132348
+ "defined",
132349
+ "code",
132350
+ "status",
132351
+ "message"
132352
+ ]
132353
+ }
132354
+ ]
132355
+ }
132356
+ }
132357
+ }
132358
+ }
132359
+ },
132360
+ "x-shuffl-access": "write",
132361
+ "x-shuffl-permission": "playbooks.nudge"
132362
+ }
132363
+ },
132364
+ "/manage/playbooks/person": {
132365
+ "post": {
132366
+ "operationId": "playbooks.person",
132367
+ "summary": "Read a new hire's onboarding plan",
132368
+ "requestBody": {
132369
+ "required": true,
132370
+ "content": {
132371
+ "application/json": {
132372
+ "schema": {
132373
+ "type": "object",
132374
+ "properties": {
132375
+ "personId": {
132376
+ "type": "string"
132377
+ }
132378
+ },
132379
+ "required": [
132380
+ "personId"
132381
+ ],
132382
+ "additionalProperties": false
132383
+ }
132384
+ }
132385
+ }
132386
+ },
132387
+ "responses": {
132388
+ "200": {
132389
+ "description": "OK",
132390
+ "content": {
132391
+ "application/json": {
132392
+ "schema": {
132393
+ "type": "object",
132394
+ "properties": {
132395
+ "buddyTo": {
132396
+ "type": "array",
132397
+ "items": {
132398
+ "type": "object",
132399
+ "properties": {
132400
+ "enrollmentId": {
132401
+ "type": "string"
132402
+ },
132403
+ "hire": {
132404
+ "type": "object",
132405
+ "properties": {
132406
+ "id": {
132407
+ "type": "string"
132408
+ },
132409
+ "name": {
132410
+ "type": "string"
132411
+ }
132412
+ },
132413
+ "required": [
132414
+ "id",
132415
+ "name"
132416
+ ],
132417
+ "additionalProperties": false
132418
+ },
132419
+ "invitation": {
132420
+ "anyOf": [
132421
+ {
132422
+ "type": "null"
132423
+ },
132424
+ {
132425
+ "const": "accepted"
132426
+ },
132427
+ {
132428
+ "const": "declined"
132429
+ },
132430
+ {
132431
+ "const": "pending"
132432
+ },
132433
+ {
132434
+ "const": "withdrawn"
132435
+ }
132436
+ ]
132437
+ },
132438
+ "programId": {
132439
+ "type": "string"
132440
+ },
132441
+ "programName": {
132442
+ "type": "string"
132443
+ },
132444
+ "startDate": {
132445
+ "type": "string"
132446
+ }
132447
+ },
132448
+ "required": [
132449
+ "enrollmentId",
132450
+ "hire",
132451
+ "invitation",
132452
+ "programId",
132453
+ "programName",
132454
+ "startDate"
132455
+ ],
132456
+ "additionalProperties": false
132457
+ }
132458
+ },
132459
+ "enrollments": {
132460
+ "type": "array",
132461
+ "items": {
132462
+ "type": "object",
132463
+ "properties": {
132464
+ "buddy": {
132465
+ "anyOf": [
132466
+ {
132467
+ "type": "null"
132468
+ },
132469
+ {
132470
+ "type": "object",
132471
+ "properties": {
132472
+ "id": {
132473
+ "type": "string"
132474
+ },
132475
+ "name": {
132476
+ "type": "string"
132477
+ }
132478
+ },
132479
+ "required": [
132480
+ "id",
132481
+ "name"
132482
+ ],
132483
+ "additionalProperties": false
132484
+ }
132485
+ ]
132486
+ },
132487
+ "buddyOn": {
132488
+ "type": "boolean"
132489
+ },
132490
+ "enrollmentId": {
132491
+ "type": "string"
132492
+ },
132493
+ "invitation": {
132494
+ "anyOf": [
132495
+ {
132496
+ "type": "null"
132497
+ },
132498
+ {
132499
+ "const": "accepted"
132500
+ },
132501
+ {
132502
+ "const": "declined"
132503
+ },
132504
+ {
132505
+ "const": "pending"
132506
+ },
132507
+ {
132508
+ "const": "withdrawn"
132509
+ }
132510
+ ]
132511
+ },
132512
+ "programId": {
132513
+ "type": "string"
132514
+ },
132515
+ "programName": {
132516
+ "type": "string"
132517
+ },
132518
+ "revision": {
132519
+ "type": "number"
132520
+ },
132521
+ "startDate": {
132522
+ "type": "string"
132523
+ }
132524
+ },
132525
+ "required": [
132526
+ "buddy",
132527
+ "buddyOn",
132528
+ "enrollmentId",
132529
+ "invitation",
132530
+ "programId",
132531
+ "programName",
132532
+ "revision",
132533
+ "startDate"
132534
+ ],
132535
+ "additionalProperties": false
132536
+ }
132537
+ }
132538
+ },
132539
+ "required": [
132540
+ "buddyTo",
132541
+ "enrollments"
132542
+ ],
132543
+ "additionalProperties": false
132544
+ }
132545
+ }
132546
+ }
132547
+ },
132548
+ "400": {
132549
+ "description": "400",
132550
+ "content": {
132551
+ "application/json": {
132552
+ "schema": {
132553
+ "oneOf": [
132554
+ {
132555
+ "type": "object",
132556
+ "properties": {
132557
+ "defined": {
132558
+ "const": true
132559
+ },
132560
+ "code": {
132561
+ "const": "BAD_REQUEST"
132562
+ },
132563
+ "status": {
132564
+ "const": 400
132565
+ },
132566
+ "message": {
132567
+ "type": "string",
132568
+ "default": "Check the request input."
132569
+ },
132570
+ "data": {}
132571
+ },
132572
+ "required": [
132573
+ "defined",
132574
+ "code",
132575
+ "status",
132576
+ "message"
132577
+ ]
132578
+ },
132579
+ {
132580
+ "type": "object",
132581
+ "properties": {
132582
+ "defined": {
132583
+ "const": false
132584
+ },
132585
+ "code": {
132586
+ "type": "string"
132587
+ },
132588
+ "status": {
132589
+ "type": "number"
132590
+ },
132591
+ "message": {
132592
+ "type": "string"
132593
+ },
132594
+ "data": {}
132595
+ },
132596
+ "required": [
132597
+ "defined",
132598
+ "code",
132599
+ "status",
132600
+ "message"
132601
+ ]
132602
+ }
132603
+ ]
132604
+ }
132605
+ }
132606
+ }
132607
+ },
132608
+ "401": {
132609
+ "description": "401",
132610
+ "content": {
132611
+ "application/json": {
132612
+ "schema": {
132613
+ "oneOf": [
132614
+ {
132615
+ "type": "object",
132616
+ "properties": {
132617
+ "defined": {
132618
+ "const": true
132619
+ },
132620
+ "code": {
132621
+ "const": "UNAUTHORIZED"
132622
+ },
132623
+ "status": {
132624
+ "const": 401
132625
+ },
132626
+ "message": {
132627
+ "type": "string",
132628
+ "default": "A valid Shuffl API token is required."
132040
132629
  },
132041
132630
  "data": {}
132042
132631
  },
@@ -134672,6 +135261,37 @@
134672
135261
  ],
134673
135262
  "additionalProperties": false
134674
135263
  },
135264
+ "hires": {
135265
+ "type": "object",
135266
+ "properties": {
135267
+ "active": {
135268
+ "type": "number"
135269
+ },
135270
+ "askedForHelp": {
135271
+ "type": "number"
135272
+ },
135273
+ "onTime": {
135274
+ "anyOf": [
135275
+ {
135276
+ "type": "null"
135277
+ },
135278
+ {
135279
+ "type": "number"
135280
+ }
135281
+ ]
135282
+ },
135283
+ "overdue": {
135284
+ "type": "number"
135285
+ }
135286
+ },
135287
+ "required": [
135288
+ "active",
135289
+ "askedForHelp",
135290
+ "onTime",
135291
+ "overdue"
135292
+ ],
135293
+ "additionalProperties": false
135294
+ },
134675
135295
  "intro": {
134676
135296
  "type": "string"
134677
135297
  },
@@ -134924,6 +135544,131 @@
134924
135544
  }
134925
135545
  ]
134926
135546
  },
135547
+ "progress": {
135548
+ "anyOf": [
135549
+ {
135550
+ "type": "null"
135551
+ },
135552
+ {
135553
+ "type": "object",
135554
+ "properties": {
135555
+ "day": {
135556
+ "type": "number"
135557
+ },
135558
+ "done": {
135559
+ "type": "number"
135560
+ },
135561
+ "help": {
135562
+ "type": "boolean"
135563
+ },
135564
+ "next": {
135565
+ "anyOf": [
135566
+ {
135567
+ "type": "null"
135568
+ },
135569
+ {
135570
+ "type": "object",
135571
+ "properties": {
135572
+ "at": {
135573
+ "anyOf": [
135574
+ {
135575
+ "type": "null"
135576
+ },
135577
+ {
135578
+ "type": "string",
135579
+ "format": "date-time"
135580
+ }
135581
+ ]
135582
+ },
135583
+ "title": {
135584
+ "type": "string"
135585
+ }
135586
+ },
135587
+ "required": [
135588
+ "at",
135589
+ "title"
135590
+ ],
135591
+ "additionalProperties": false
135592
+ }
135593
+ ]
135594
+ },
135595
+ "overdue": {
135596
+ "type": "array",
135597
+ "items": {
135598
+ "type": "object",
135599
+ "properties": {
135600
+ "count": {
135601
+ "type": "number"
135602
+ },
135603
+ "nudgedAt": {
135604
+ "anyOf": [
135605
+ {
135606
+ "type": "null"
135607
+ },
135608
+ {
135609
+ "type": "string",
135610
+ "format": "date-time"
135611
+ }
135612
+ ]
135613
+ },
135614
+ "ownerId": {
135615
+ "type": "string"
135616
+ },
135617
+ "ownerName": {
135618
+ "type": "string"
135619
+ },
135620
+ "role": {
135621
+ "anyOf": [
135622
+ {
135623
+ "const": "buddy"
135624
+ },
135625
+ {
135626
+ "const": "hire"
135627
+ },
135628
+ {
135629
+ "const": "manager"
135630
+ },
135631
+ {
135632
+ "const": "other"
135633
+ }
135634
+ ]
135635
+ },
135636
+ "since": {
135637
+ "type": "string",
135638
+ "format": "date-time"
135639
+ }
135640
+ },
135641
+ "required": [
135642
+ "count",
135643
+ "nudgedAt",
135644
+ "ownerId",
135645
+ "ownerName",
135646
+ "role",
135647
+ "since"
135648
+ ],
135649
+ "additionalProperties": false
135650
+ }
135651
+ },
135652
+ "total": {
135653
+ "type": "number"
135654
+ },
135655
+ "unconfirmed": {
135656
+ "type": "number"
135657
+ }
135658
+ },
135659
+ "required": [
135660
+ "day",
135661
+ "done",
135662
+ "help",
135663
+ "next",
135664
+ "overdue",
135665
+ "total",
135666
+ "unconfirmed"
135667
+ ],
135668
+ "additionalProperties": false
135669
+ }
135670
+ ]
135671
+ },
134927
135672
  "removalReason": {
134928
135673
  "anyOf": [
134929
135674
  {
@@ -135278,6 +136023,7 @@
135278
136023
  "id",
135279
136024
  "person",
135280
136025
  "plan",
136026
+ "progress",
135281
136027
  "removalReason",
135282
136028
  "revision",
135283
136029
  "startDate",
@@ -135300,6 +136046,7 @@
135300
136046
  },
135301
136047
  "required": [
135302
136048
  "config",
136049
+ "hires",
135303
136050
  "intro",
135304
136051
  "program",
135305
136052
  "responderName",
@@ -251739,6 +252486,7 @@
251739
252486
  "playbooks.completeTodo",
251740
252487
  "playbooks.draftPlan",
251741
252488
  "playbooks.enroll",
252489
+ "playbooks.nudge",
251742
252490
  "playbooks.previewEnrollment",
251743
252491
  "playbooks.remove",
251744
252492
  "playbooks.respondBuddy",
@@ -252197,6 +252945,7 @@
252197
252945
  "playbooks.completeTodo",
252198
252946
  "playbooks.draftPlan",
252199
252947
  "playbooks.enroll",
252948
+ "playbooks.nudge",
252200
252949
  "playbooks.previewEnrollment",
252201
252950
  "playbooks.remove",
252202
252951
  "playbooks.respondBuddy",