slotlock 0.9.0 → 0.10.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.
- package/CHANGELOG.md +305 -0
- package/NOTICE +2 -0
- package/README.md +4 -2
- package/agent-store-backend.js +209 -15
- package/application-api.d.ts +10 -1
- package/application-api.js +213 -2
- package/availability-store.js +13 -5
- package/booking-rules.d.ts +11 -0
- package/booking-rules.js +21 -1
- package/config.d.ts +50 -0
- package/config.js +107 -0
- package/dashboard-scope.d.ts +7 -0
- package/dashboard-scope.js +21 -0
- package/dashboard.d.ts +97 -2
- package/dashboard.js +3068 -284
- package/ddl-identity.d.ts +25 -0
- package/ddl-identity.js +881 -0
- package/ddl-scim.d.ts +5 -0
- package/ddl-scim.js +740 -0
- package/ddl-sso.d.ts +15 -0
- package/ddl-sso.js +1033 -0
- package/ddl.d.ts +40 -9
- package/ddl.js +2123 -49
- package/domains.d.ts +117 -0
- package/domains.js +340 -0
- package/event-feed.d.ts +1 -1
- package/event-feed.js +6 -34
- package/holiday-import.d.ts +1 -1
- package/holiday-import.js +2 -3
- package/holidays.js +70 -11
- package/index.d.ts +12 -4
- package/index.js +8 -2
- package/invitation-email.d.ts +26 -0
- package/invitation-email.js +73 -0
- package/maintenance.d.ts +7 -2
- package/maintenance.js +15 -1
- package/oidc.d.ts +135 -0
- package/oidc.js +452 -0
- package/openapi.json +1886 -6
- package/package.json +2 -1
- package/scim-server.d.ts +19 -0
- package/scim-server.js +243 -0
- package/scim.d.ts +180 -0
- package/scim.js +416 -0
- package/self-host.d.ts +19 -6
- package/self-host.js +262 -7
- package/slotlock.manifest.json +1 -1
- package/store.d.ts +273 -2
- package/store.js +984 -72
- package/types.d.ts +33 -1
- package/types.js +68 -1
- package/workspace-domains.d.ts +146 -0
- package/workspace-domains.js +249 -0
- package/workspace-roles.d.ts +47 -0
- package/workspace-roles.js +304 -0
- package/workspace-scim.d.ts +89 -0
- package/workspace-scim.js +157 -0
- package/workspace-sso.d.ts +131 -0
- package/workspace-sso.js +180 -0
- package/workspaces.d.ts +240 -0
- package/workspaces.js +433 -0
package/openapi.json
CHANGED
|
@@ -647,6 +647,25 @@
|
|
|
647
647
|
"currency"
|
|
648
648
|
],
|
|
649
649
|
"additionalProperties": false
|
|
650
|
+
},
|
|
651
|
+
"hold_price": {
|
|
652
|
+
"type": "object",
|
|
653
|
+
"properties": {
|
|
654
|
+
"amount_minor": {
|
|
655
|
+
"type": "integer",
|
|
656
|
+
"minimum": 1,
|
|
657
|
+
"maximum": 1000000000000
|
|
658
|
+
},
|
|
659
|
+
"currency": {
|
|
660
|
+
"type": "string",
|
|
661
|
+
"pattern": "^[A-Z]{3}$"
|
|
662
|
+
}
|
|
663
|
+
},
|
|
664
|
+
"required": [
|
|
665
|
+
"amount_minor",
|
|
666
|
+
"currency"
|
|
667
|
+
],
|
|
668
|
+
"additionalProperties": false
|
|
650
669
|
}
|
|
651
670
|
},
|
|
652
671
|
"additionalProperties": false
|
|
@@ -817,6 +836,25 @@
|
|
|
817
836
|
"currency"
|
|
818
837
|
],
|
|
819
838
|
"additionalProperties": false
|
|
839
|
+
},
|
|
840
|
+
"hold_price": {
|
|
841
|
+
"type": "object",
|
|
842
|
+
"properties": {
|
|
843
|
+
"amount_minor": {
|
|
844
|
+
"type": "integer",
|
|
845
|
+
"minimum": 1,
|
|
846
|
+
"maximum": 1000000000000
|
|
847
|
+
},
|
|
848
|
+
"currency": {
|
|
849
|
+
"type": "string",
|
|
850
|
+
"pattern": "^[A-Z]{3}$"
|
|
851
|
+
}
|
|
852
|
+
},
|
|
853
|
+
"required": [
|
|
854
|
+
"amount_minor",
|
|
855
|
+
"currency"
|
|
856
|
+
],
|
|
857
|
+
"additionalProperties": false
|
|
820
858
|
}
|
|
821
859
|
},
|
|
822
860
|
"additionalProperties": false
|
|
@@ -6989,6 +7027,25 @@
|
|
|
6989
7027
|
"currency"
|
|
6990
7028
|
],
|
|
6991
7029
|
"additionalProperties": false
|
|
7030
|
+
},
|
|
7031
|
+
"hold_price": {
|
|
7032
|
+
"type": "object",
|
|
7033
|
+
"properties": {
|
|
7034
|
+
"amount_minor": {
|
|
7035
|
+
"type": "integer",
|
|
7036
|
+
"minimum": 1,
|
|
7037
|
+
"maximum": 1000000000000
|
|
7038
|
+
},
|
|
7039
|
+
"currency": {
|
|
7040
|
+
"type": "string",
|
|
7041
|
+
"pattern": "^[A-Z]{3}$"
|
|
7042
|
+
}
|
|
7043
|
+
},
|
|
7044
|
+
"required": [
|
|
7045
|
+
"amount_minor",
|
|
7046
|
+
"currency"
|
|
7047
|
+
],
|
|
7048
|
+
"additionalProperties": false
|
|
6992
7049
|
}
|
|
6993
7050
|
},
|
|
6994
7051
|
"additionalProperties": false
|
|
@@ -7159,6 +7216,25 @@
|
|
|
7159
7216
|
"currency"
|
|
7160
7217
|
],
|
|
7161
7218
|
"additionalProperties": false
|
|
7219
|
+
},
|
|
7220
|
+
"hold_price": {
|
|
7221
|
+
"type": "object",
|
|
7222
|
+
"properties": {
|
|
7223
|
+
"amount_minor": {
|
|
7224
|
+
"type": "integer",
|
|
7225
|
+
"minimum": 1,
|
|
7226
|
+
"maximum": 1000000000000
|
|
7227
|
+
},
|
|
7228
|
+
"currency": {
|
|
7229
|
+
"type": "string",
|
|
7230
|
+
"pattern": "^[A-Z]{3}$"
|
|
7231
|
+
}
|
|
7232
|
+
},
|
|
7233
|
+
"required": [
|
|
7234
|
+
"amount_minor",
|
|
7235
|
+
"currency"
|
|
7236
|
+
],
|
|
7237
|
+
"additionalProperties": false
|
|
7162
7238
|
}
|
|
7163
7239
|
},
|
|
7164
7240
|
"additionalProperties": false
|
|
@@ -7695,6 +7771,25 @@
|
|
|
7695
7771
|
"currency"
|
|
7696
7772
|
],
|
|
7697
7773
|
"additionalProperties": false
|
|
7774
|
+
},
|
|
7775
|
+
"hold_price": {
|
|
7776
|
+
"type": "object",
|
|
7777
|
+
"properties": {
|
|
7778
|
+
"amount_minor": {
|
|
7779
|
+
"type": "integer",
|
|
7780
|
+
"minimum": 1,
|
|
7781
|
+
"maximum": 1000000000000
|
|
7782
|
+
},
|
|
7783
|
+
"currency": {
|
|
7784
|
+
"type": "string",
|
|
7785
|
+
"pattern": "^[A-Z]{3}$"
|
|
7786
|
+
}
|
|
7787
|
+
},
|
|
7788
|
+
"required": [
|
|
7789
|
+
"amount_minor",
|
|
7790
|
+
"currency"
|
|
7791
|
+
],
|
|
7792
|
+
"additionalProperties": false
|
|
7698
7793
|
}
|
|
7699
7794
|
},
|
|
7700
7795
|
"additionalProperties": false
|
|
@@ -7865,6 +7960,25 @@
|
|
|
7865
7960
|
"currency"
|
|
7866
7961
|
],
|
|
7867
7962
|
"additionalProperties": false
|
|
7963
|
+
},
|
|
7964
|
+
"hold_price": {
|
|
7965
|
+
"type": "object",
|
|
7966
|
+
"properties": {
|
|
7967
|
+
"amount_minor": {
|
|
7968
|
+
"type": "integer",
|
|
7969
|
+
"minimum": 1,
|
|
7970
|
+
"maximum": 1000000000000
|
|
7971
|
+
},
|
|
7972
|
+
"currency": {
|
|
7973
|
+
"type": "string",
|
|
7974
|
+
"pattern": "^[A-Z]{3}$"
|
|
7975
|
+
}
|
|
7976
|
+
},
|
|
7977
|
+
"required": [
|
|
7978
|
+
"amount_minor",
|
|
7979
|
+
"currency"
|
|
7980
|
+
],
|
|
7981
|
+
"additionalProperties": false
|
|
7868
7982
|
}
|
|
7869
7983
|
},
|
|
7870
7984
|
"additionalProperties": false
|
|
@@ -9461,6 +9575,25 @@
|
|
|
9461
9575
|
"currency"
|
|
9462
9576
|
],
|
|
9463
9577
|
"additionalProperties": false
|
|
9578
|
+
},
|
|
9579
|
+
"hold_price": {
|
|
9580
|
+
"type": "object",
|
|
9581
|
+
"properties": {
|
|
9582
|
+
"amount_minor": {
|
|
9583
|
+
"type": "integer",
|
|
9584
|
+
"minimum": 1,
|
|
9585
|
+
"maximum": 1000000000000
|
|
9586
|
+
},
|
|
9587
|
+
"currency": {
|
|
9588
|
+
"type": "string",
|
|
9589
|
+
"pattern": "^[A-Z]{3}$"
|
|
9590
|
+
}
|
|
9591
|
+
},
|
|
9592
|
+
"required": [
|
|
9593
|
+
"amount_minor",
|
|
9594
|
+
"currency"
|
|
9595
|
+
],
|
|
9596
|
+
"additionalProperties": false
|
|
9464
9597
|
}
|
|
9465
9598
|
},
|
|
9466
9599
|
"additionalProperties": false
|
|
@@ -9631,6 +9764,25 @@
|
|
|
9631
9764
|
"currency"
|
|
9632
9765
|
],
|
|
9633
9766
|
"additionalProperties": false
|
|
9767
|
+
},
|
|
9768
|
+
"hold_price": {
|
|
9769
|
+
"type": "object",
|
|
9770
|
+
"properties": {
|
|
9771
|
+
"amount_minor": {
|
|
9772
|
+
"type": "integer",
|
|
9773
|
+
"minimum": 1,
|
|
9774
|
+
"maximum": 1000000000000
|
|
9775
|
+
},
|
|
9776
|
+
"currency": {
|
|
9777
|
+
"type": "string",
|
|
9778
|
+
"pattern": "^[A-Z]{3}$"
|
|
9779
|
+
}
|
|
9780
|
+
},
|
|
9781
|
+
"required": [
|
|
9782
|
+
"amount_minor",
|
|
9783
|
+
"currency"
|
|
9784
|
+
],
|
|
9785
|
+
"additionalProperties": false
|
|
9634
9786
|
}
|
|
9635
9787
|
},
|
|
9636
9788
|
"additionalProperties": false
|
|
@@ -10187,6 +10339,25 @@
|
|
|
10187
10339
|
"currency"
|
|
10188
10340
|
],
|
|
10189
10341
|
"additionalProperties": false
|
|
10342
|
+
},
|
|
10343
|
+
"hold_price": {
|
|
10344
|
+
"type": "object",
|
|
10345
|
+
"properties": {
|
|
10346
|
+
"amount_minor": {
|
|
10347
|
+
"type": "integer",
|
|
10348
|
+
"minimum": 1,
|
|
10349
|
+
"maximum": 1000000000000
|
|
10350
|
+
},
|
|
10351
|
+
"currency": {
|
|
10352
|
+
"type": "string",
|
|
10353
|
+
"pattern": "^[A-Z]{3}$"
|
|
10354
|
+
}
|
|
10355
|
+
},
|
|
10356
|
+
"required": [
|
|
10357
|
+
"amount_minor",
|
|
10358
|
+
"currency"
|
|
10359
|
+
],
|
|
10360
|
+
"additionalProperties": false
|
|
10190
10361
|
}
|
|
10191
10362
|
},
|
|
10192
10363
|
"additionalProperties": false
|
|
@@ -10357,6 +10528,25 @@
|
|
|
10357
10528
|
"currency"
|
|
10358
10529
|
],
|
|
10359
10530
|
"additionalProperties": false
|
|
10531
|
+
},
|
|
10532
|
+
"hold_price": {
|
|
10533
|
+
"type": "object",
|
|
10534
|
+
"properties": {
|
|
10535
|
+
"amount_minor": {
|
|
10536
|
+
"type": "integer",
|
|
10537
|
+
"minimum": 1,
|
|
10538
|
+
"maximum": 1000000000000
|
|
10539
|
+
},
|
|
10540
|
+
"currency": {
|
|
10541
|
+
"type": "string",
|
|
10542
|
+
"pattern": "^[A-Z]{3}$"
|
|
10543
|
+
}
|
|
10544
|
+
},
|
|
10545
|
+
"required": [
|
|
10546
|
+
"amount_minor",
|
|
10547
|
+
"currency"
|
|
10548
|
+
],
|
|
10549
|
+
"additionalProperties": false
|
|
10360
10550
|
}
|
|
10361
10551
|
},
|
|
10362
10552
|
"additionalProperties": false
|
|
@@ -11051,6 +11241,25 @@
|
|
|
11051
11241
|
"currency"
|
|
11052
11242
|
],
|
|
11053
11243
|
"additionalProperties": false
|
|
11244
|
+
},
|
|
11245
|
+
"hold_price": {
|
|
11246
|
+
"type": "object",
|
|
11247
|
+
"properties": {
|
|
11248
|
+
"amount_minor": {
|
|
11249
|
+
"type": "integer",
|
|
11250
|
+
"minimum": 1,
|
|
11251
|
+
"maximum": 1000000000000
|
|
11252
|
+
},
|
|
11253
|
+
"currency": {
|
|
11254
|
+
"type": "string",
|
|
11255
|
+
"pattern": "^[A-Z]{3}$"
|
|
11256
|
+
}
|
|
11257
|
+
},
|
|
11258
|
+
"required": [
|
|
11259
|
+
"amount_minor",
|
|
11260
|
+
"currency"
|
|
11261
|
+
],
|
|
11262
|
+
"additionalProperties": false
|
|
11054
11263
|
}
|
|
11055
11264
|
},
|
|
11056
11265
|
"additionalProperties": false
|
|
@@ -11221,6 +11430,25 @@
|
|
|
11221
11430
|
"currency"
|
|
11222
11431
|
],
|
|
11223
11432
|
"additionalProperties": false
|
|
11433
|
+
},
|
|
11434
|
+
"hold_price": {
|
|
11435
|
+
"type": "object",
|
|
11436
|
+
"properties": {
|
|
11437
|
+
"amount_minor": {
|
|
11438
|
+
"type": "integer",
|
|
11439
|
+
"minimum": 1,
|
|
11440
|
+
"maximum": 1000000000000
|
|
11441
|
+
},
|
|
11442
|
+
"currency": {
|
|
11443
|
+
"type": "string",
|
|
11444
|
+
"pattern": "^[A-Z]{3}$"
|
|
11445
|
+
}
|
|
11446
|
+
},
|
|
11447
|
+
"required": [
|
|
11448
|
+
"amount_minor",
|
|
11449
|
+
"currency"
|
|
11450
|
+
],
|
|
11451
|
+
"additionalProperties": false
|
|
11224
11452
|
}
|
|
11225
11453
|
},
|
|
11226
11454
|
"additionalProperties": false
|
|
@@ -11852,6 +12080,25 @@
|
|
|
11852
12080
|
"currency"
|
|
11853
12081
|
],
|
|
11854
12082
|
"additionalProperties": false
|
|
12083
|
+
},
|
|
12084
|
+
"hold_price": {
|
|
12085
|
+
"type": "object",
|
|
12086
|
+
"properties": {
|
|
12087
|
+
"amount_minor": {
|
|
12088
|
+
"type": "integer",
|
|
12089
|
+
"minimum": 1,
|
|
12090
|
+
"maximum": 1000000000000
|
|
12091
|
+
},
|
|
12092
|
+
"currency": {
|
|
12093
|
+
"type": "string",
|
|
12094
|
+
"pattern": "^[A-Z]{3}$"
|
|
12095
|
+
}
|
|
12096
|
+
},
|
|
12097
|
+
"required": [
|
|
12098
|
+
"amount_minor",
|
|
12099
|
+
"currency"
|
|
12100
|
+
],
|
|
12101
|
+
"additionalProperties": false
|
|
11855
12102
|
}
|
|
11856
12103
|
},
|
|
11857
12104
|
"additionalProperties": false
|
|
@@ -12022,6 +12269,25 @@
|
|
|
12022
12269
|
"currency"
|
|
12023
12270
|
],
|
|
12024
12271
|
"additionalProperties": false
|
|
12272
|
+
},
|
|
12273
|
+
"hold_price": {
|
|
12274
|
+
"type": "object",
|
|
12275
|
+
"properties": {
|
|
12276
|
+
"amount_minor": {
|
|
12277
|
+
"type": "integer",
|
|
12278
|
+
"minimum": 1,
|
|
12279
|
+
"maximum": 1000000000000
|
|
12280
|
+
},
|
|
12281
|
+
"currency": {
|
|
12282
|
+
"type": "string",
|
|
12283
|
+
"pattern": "^[A-Z]{3}$"
|
|
12284
|
+
}
|
|
12285
|
+
},
|
|
12286
|
+
"required": [
|
|
12287
|
+
"amount_minor",
|
|
12288
|
+
"currency"
|
|
12289
|
+
],
|
|
12290
|
+
"additionalProperties": false
|
|
12025
12291
|
}
|
|
12026
12292
|
},
|
|
12027
12293
|
"additionalProperties": false
|
|
@@ -12486,10 +12752,29 @@
|
|
|
12486
12752
|
"currency"
|
|
12487
12753
|
],
|
|
12488
12754
|
"additionalProperties": false
|
|
12489
|
-
}
|
|
12490
|
-
|
|
12491
|
-
|
|
12492
|
-
|
|
12755
|
+
},
|
|
12756
|
+
"hold_price": {
|
|
12757
|
+
"type": "object",
|
|
12758
|
+
"properties": {
|
|
12759
|
+
"amount_minor": {
|
|
12760
|
+
"type": "integer",
|
|
12761
|
+
"minimum": 1,
|
|
12762
|
+
"maximum": 1000000000000
|
|
12763
|
+
},
|
|
12764
|
+
"currency": {
|
|
12765
|
+
"type": "string",
|
|
12766
|
+
"pattern": "^[A-Z]{3}$"
|
|
12767
|
+
}
|
|
12768
|
+
},
|
|
12769
|
+
"required": [
|
|
12770
|
+
"amount_minor",
|
|
12771
|
+
"currency"
|
|
12772
|
+
],
|
|
12773
|
+
"additionalProperties": false
|
|
12774
|
+
}
|
|
12775
|
+
},
|
|
12776
|
+
"additionalProperties": false
|
|
12777
|
+
},
|
|
12493
12778
|
{
|
|
12494
12779
|
"type": "null"
|
|
12495
12780
|
}
|
|
@@ -12750,6 +13035,25 @@
|
|
|
12750
13035
|
"currency"
|
|
12751
13036
|
],
|
|
12752
13037
|
"additionalProperties": false
|
|
13038
|
+
},
|
|
13039
|
+
"hold_price": {
|
|
13040
|
+
"type": "object",
|
|
13041
|
+
"properties": {
|
|
13042
|
+
"amount_minor": {
|
|
13043
|
+
"type": "integer",
|
|
13044
|
+
"minimum": 1,
|
|
13045
|
+
"maximum": 1000000000000
|
|
13046
|
+
},
|
|
13047
|
+
"currency": {
|
|
13048
|
+
"type": "string",
|
|
13049
|
+
"pattern": "^[A-Z]{3}$"
|
|
13050
|
+
}
|
|
13051
|
+
},
|
|
13052
|
+
"required": [
|
|
13053
|
+
"amount_minor",
|
|
13054
|
+
"currency"
|
|
13055
|
+
],
|
|
13056
|
+
"additionalProperties": false
|
|
12753
13057
|
}
|
|
12754
13058
|
},
|
|
12755
13059
|
"additionalProperties": false
|
|
@@ -12920,6 +13224,25 @@
|
|
|
12920
13224
|
"currency"
|
|
12921
13225
|
],
|
|
12922
13226
|
"additionalProperties": false
|
|
13227
|
+
},
|
|
13228
|
+
"hold_price": {
|
|
13229
|
+
"type": "object",
|
|
13230
|
+
"properties": {
|
|
13231
|
+
"amount_minor": {
|
|
13232
|
+
"type": "integer",
|
|
13233
|
+
"minimum": 1,
|
|
13234
|
+
"maximum": 1000000000000
|
|
13235
|
+
},
|
|
13236
|
+
"currency": {
|
|
13237
|
+
"type": "string",
|
|
13238
|
+
"pattern": "^[A-Z]{3}$"
|
|
13239
|
+
}
|
|
13240
|
+
},
|
|
13241
|
+
"required": [
|
|
13242
|
+
"amount_minor",
|
|
13243
|
+
"currency"
|
|
13244
|
+
],
|
|
13245
|
+
"additionalProperties": false
|
|
12923
13246
|
}
|
|
12924
13247
|
},
|
|
12925
13248
|
"additionalProperties": false
|
|
@@ -13489,6 +13812,25 @@
|
|
|
13489
13812
|
"currency"
|
|
13490
13813
|
],
|
|
13491
13814
|
"additionalProperties": false
|
|
13815
|
+
},
|
|
13816
|
+
"hold_price": {
|
|
13817
|
+
"type": "object",
|
|
13818
|
+
"properties": {
|
|
13819
|
+
"amount_minor": {
|
|
13820
|
+
"type": "integer",
|
|
13821
|
+
"minimum": 1,
|
|
13822
|
+
"maximum": 1000000000000
|
|
13823
|
+
},
|
|
13824
|
+
"currency": {
|
|
13825
|
+
"type": "string",
|
|
13826
|
+
"pattern": "^[A-Z]{3}$"
|
|
13827
|
+
}
|
|
13828
|
+
},
|
|
13829
|
+
"required": [
|
|
13830
|
+
"amount_minor",
|
|
13831
|
+
"currency"
|
|
13832
|
+
],
|
|
13833
|
+
"additionalProperties": false
|
|
13492
13834
|
}
|
|
13493
13835
|
},
|
|
13494
13836
|
"additionalProperties": false
|
|
@@ -13659,6 +14001,25 @@
|
|
|
13659
14001
|
"currency"
|
|
13660
14002
|
],
|
|
13661
14003
|
"additionalProperties": false
|
|
14004
|
+
},
|
|
14005
|
+
"hold_price": {
|
|
14006
|
+
"type": "object",
|
|
14007
|
+
"properties": {
|
|
14008
|
+
"amount_minor": {
|
|
14009
|
+
"type": "integer",
|
|
14010
|
+
"minimum": 1,
|
|
14011
|
+
"maximum": 1000000000000
|
|
14012
|
+
},
|
|
14013
|
+
"currency": {
|
|
14014
|
+
"type": "string",
|
|
14015
|
+
"pattern": "^[A-Z]{3}$"
|
|
14016
|
+
}
|
|
14017
|
+
},
|
|
14018
|
+
"required": [
|
|
14019
|
+
"amount_minor",
|
|
14020
|
+
"currency"
|
|
14021
|
+
],
|
|
14022
|
+
"additionalProperties": false
|
|
13662
14023
|
}
|
|
13663
14024
|
},
|
|
13664
14025
|
"additionalProperties": false
|
|
@@ -14229,6 +14590,25 @@
|
|
|
14229
14590
|
"currency"
|
|
14230
14591
|
],
|
|
14231
14592
|
"additionalProperties": false
|
|
14593
|
+
},
|
|
14594
|
+
"hold_price": {
|
|
14595
|
+
"type": "object",
|
|
14596
|
+
"properties": {
|
|
14597
|
+
"amount_minor": {
|
|
14598
|
+
"type": "integer",
|
|
14599
|
+
"minimum": 1,
|
|
14600
|
+
"maximum": 1000000000000
|
|
14601
|
+
},
|
|
14602
|
+
"currency": {
|
|
14603
|
+
"type": "string",
|
|
14604
|
+
"pattern": "^[A-Z]{3}$"
|
|
14605
|
+
}
|
|
14606
|
+
},
|
|
14607
|
+
"required": [
|
|
14608
|
+
"amount_minor",
|
|
14609
|
+
"currency"
|
|
14610
|
+
],
|
|
14611
|
+
"additionalProperties": false
|
|
14232
14612
|
}
|
|
14233
14613
|
},
|
|
14234
14614
|
"additionalProperties": false
|
|
@@ -14399,6 +14779,25 @@
|
|
|
14399
14779
|
"currency"
|
|
14400
14780
|
],
|
|
14401
14781
|
"additionalProperties": false
|
|
14782
|
+
},
|
|
14783
|
+
"hold_price": {
|
|
14784
|
+
"type": "object",
|
|
14785
|
+
"properties": {
|
|
14786
|
+
"amount_minor": {
|
|
14787
|
+
"type": "integer",
|
|
14788
|
+
"minimum": 1,
|
|
14789
|
+
"maximum": 1000000000000
|
|
14790
|
+
},
|
|
14791
|
+
"currency": {
|
|
14792
|
+
"type": "string",
|
|
14793
|
+
"pattern": "^[A-Z]{3}$"
|
|
14794
|
+
}
|
|
14795
|
+
},
|
|
14796
|
+
"required": [
|
|
14797
|
+
"amount_minor",
|
|
14798
|
+
"currency"
|
|
14799
|
+
],
|
|
14800
|
+
"additionalProperties": false
|
|
14402
14801
|
}
|
|
14403
14802
|
},
|
|
14404
14803
|
"additionalProperties": false
|
|
@@ -15045,6 +15444,25 @@
|
|
|
15045
15444
|
"currency"
|
|
15046
15445
|
],
|
|
15047
15446
|
"additionalProperties": false
|
|
15447
|
+
},
|
|
15448
|
+
"hold_price": {
|
|
15449
|
+
"type": "object",
|
|
15450
|
+
"properties": {
|
|
15451
|
+
"amount_minor": {
|
|
15452
|
+
"type": "integer",
|
|
15453
|
+
"minimum": 1,
|
|
15454
|
+
"maximum": 1000000000000
|
|
15455
|
+
},
|
|
15456
|
+
"currency": {
|
|
15457
|
+
"type": "string",
|
|
15458
|
+
"pattern": "^[A-Z]{3}$"
|
|
15459
|
+
}
|
|
15460
|
+
},
|
|
15461
|
+
"required": [
|
|
15462
|
+
"amount_minor",
|
|
15463
|
+
"currency"
|
|
15464
|
+
],
|
|
15465
|
+
"additionalProperties": false
|
|
15048
15466
|
}
|
|
15049
15467
|
},
|
|
15050
15468
|
"additionalProperties": false
|
|
@@ -15218,6 +15636,25 @@
|
|
|
15218
15636
|
"currency"
|
|
15219
15637
|
],
|
|
15220
15638
|
"additionalProperties": false
|
|
15639
|
+
},
|
|
15640
|
+
"hold_price": {
|
|
15641
|
+
"type": "object",
|
|
15642
|
+
"properties": {
|
|
15643
|
+
"amount_minor": {
|
|
15644
|
+
"type": "integer",
|
|
15645
|
+
"minimum": 1,
|
|
15646
|
+
"maximum": 1000000000000
|
|
15647
|
+
},
|
|
15648
|
+
"currency": {
|
|
15649
|
+
"type": "string",
|
|
15650
|
+
"pattern": "^[A-Z]{3}$"
|
|
15651
|
+
}
|
|
15652
|
+
},
|
|
15653
|
+
"required": [
|
|
15654
|
+
"amount_minor",
|
|
15655
|
+
"currency"
|
|
15656
|
+
],
|
|
15657
|
+
"additionalProperties": false
|
|
15221
15658
|
}
|
|
15222
15659
|
},
|
|
15223
15660
|
"additionalProperties": false
|
|
@@ -15431,6 +15868,25 @@
|
|
|
15431
15868
|
"currency"
|
|
15432
15869
|
],
|
|
15433
15870
|
"additionalProperties": false
|
|
15871
|
+
},
|
|
15872
|
+
"hold_price": {
|
|
15873
|
+
"type": "object",
|
|
15874
|
+
"properties": {
|
|
15875
|
+
"amount_minor": {
|
|
15876
|
+
"type": "integer",
|
|
15877
|
+
"minimum": 1,
|
|
15878
|
+
"maximum": 1000000000000
|
|
15879
|
+
},
|
|
15880
|
+
"currency": {
|
|
15881
|
+
"type": "string",
|
|
15882
|
+
"pattern": "^[A-Z]{3}$"
|
|
15883
|
+
}
|
|
15884
|
+
},
|
|
15885
|
+
"required": [
|
|
15886
|
+
"amount_minor",
|
|
15887
|
+
"currency"
|
|
15888
|
+
],
|
|
15889
|
+
"additionalProperties": false
|
|
15434
15890
|
}
|
|
15435
15891
|
},
|
|
15436
15892
|
"additionalProperties": false
|
|
@@ -15617,6 +16073,25 @@
|
|
|
15617
16073
|
"currency"
|
|
15618
16074
|
],
|
|
15619
16075
|
"additionalProperties": false
|
|
16076
|
+
},
|
|
16077
|
+
"hold_price": {
|
|
16078
|
+
"type": "object",
|
|
16079
|
+
"properties": {
|
|
16080
|
+
"amount_minor": {
|
|
16081
|
+
"type": "integer",
|
|
16082
|
+
"minimum": 1,
|
|
16083
|
+
"maximum": 1000000000000
|
|
16084
|
+
},
|
|
16085
|
+
"currency": {
|
|
16086
|
+
"type": "string",
|
|
16087
|
+
"pattern": "^[A-Z]{3}$"
|
|
16088
|
+
}
|
|
16089
|
+
},
|
|
16090
|
+
"required": [
|
|
16091
|
+
"amount_minor",
|
|
16092
|
+
"currency"
|
|
16093
|
+
],
|
|
16094
|
+
"additionalProperties": false
|
|
15620
16095
|
}
|
|
15621
16096
|
},
|
|
15622
16097
|
"additionalProperties": false
|
|
@@ -15836,6 +16311,25 @@
|
|
|
15836
16311
|
"currency"
|
|
15837
16312
|
],
|
|
15838
16313
|
"additionalProperties": false
|
|
16314
|
+
},
|
|
16315
|
+
"hold_price": {
|
|
16316
|
+
"type": "object",
|
|
16317
|
+
"properties": {
|
|
16318
|
+
"amount_minor": {
|
|
16319
|
+
"type": "integer",
|
|
16320
|
+
"minimum": 1,
|
|
16321
|
+
"maximum": 1000000000000
|
|
16322
|
+
},
|
|
16323
|
+
"currency": {
|
|
16324
|
+
"type": "string",
|
|
16325
|
+
"pattern": "^[A-Z]{3}$"
|
|
16326
|
+
}
|
|
16327
|
+
},
|
|
16328
|
+
"required": [
|
|
16329
|
+
"amount_minor",
|
|
16330
|
+
"currency"
|
|
16331
|
+
],
|
|
16332
|
+
"additionalProperties": false
|
|
15839
16333
|
}
|
|
15840
16334
|
},
|
|
15841
16335
|
"additionalProperties": false
|
|
@@ -16037,6 +16531,25 @@
|
|
|
16037
16531
|
"currency"
|
|
16038
16532
|
],
|
|
16039
16533
|
"additionalProperties": false
|
|
16534
|
+
},
|
|
16535
|
+
"hold_price": {
|
|
16536
|
+
"type": "object",
|
|
16537
|
+
"properties": {
|
|
16538
|
+
"amount_minor": {
|
|
16539
|
+
"type": "integer",
|
|
16540
|
+
"minimum": 1,
|
|
16541
|
+
"maximum": 1000000000000
|
|
16542
|
+
},
|
|
16543
|
+
"currency": {
|
|
16544
|
+
"type": "string",
|
|
16545
|
+
"pattern": "^[A-Z]{3}$"
|
|
16546
|
+
}
|
|
16547
|
+
},
|
|
16548
|
+
"required": [
|
|
16549
|
+
"amount_minor",
|
|
16550
|
+
"currency"
|
|
16551
|
+
],
|
|
16552
|
+
"additionalProperties": false
|
|
16040
16553
|
}
|
|
16041
16554
|
},
|
|
16042
16555
|
"additionalProperties": false
|
|
@@ -17564,7 +18077,7 @@
|
|
|
17564
18077
|
"post": {
|
|
17565
18078
|
"operationId": "slotlock_import_holidays",
|
|
17566
18079
|
"summary": "Import a holiday calendar",
|
|
17567
|
-
"description": "Close the days an iCalendar holiday calendar names, for the whole tenant, one location or one resource: the text in icalendar, or an https url the server fetches (at most 1 MB, 10 seconds; private addresses refused). Each all-day event closes the days it covers, and each occurrence of a recurring one within from to to (default today to two years on, at most three years); timed and cancelled events are skipped. The calendar is kept by name at its scope (name, by default its own X-WR-CALNAME, else the url's host
|
|
18080
|
+
"description": "Close the days an iCalendar holiday calendar names, for the whole tenant, one location or one resource: the text in icalendar, or an https url the server fetches (at most 1 MB, 10 seconds; private addresses refused). Each all-day event closes the days it covers, and each occurrence of a recurring one within from to to (default today to two years on, at most three years); timed and cancelled events are skipped. The calendar is kept by name at its scope (name, by default its own X-WR-CALNAME, else the url's host, else Holidays): importing it again updates its closures instead of adding more, and deletes the ones it made that it no longer names within the span (removed), so a holiday it dropped goes too. With subscribe (and a url), the server keeps the url and imports it again every 30 days. At most 50 calendars a tenant (409 holiday_calendars_limit_reached). 400 invalid_holiday_calendar for text that is not one, or one that repeats more often than daily, daily on days of the month or year, or too much to read; 400 holiday_calendar_unreachable when the url cannot be read; 400 holiday_url_not_served where the server fetches no urls.",
|
|
17568
18081
|
"tags": [
|
|
17569
18082
|
"Application"
|
|
17570
18083
|
],
|
|
@@ -18951,7 +19464,7 @@
|
|
|
18951
19464
|
"post": {
|
|
18952
19465
|
"operationId": "slotlock_mark_hold_paid",
|
|
18953
19466
|
"summary": "Record a hold as paid",
|
|
18954
|
-
"description": "Record that a hold made with payment_required is paid, by the payment's reference at your processor (a Stripe PaymentIntent id, say), once you have verified it: the hold may then be confirmed. Slotlock records payment state and never moves money. The same reference again answers the same hold (replayed: true)
|
|
19467
|
+
"description": "Record that a hold made with payment_required is paid, by the payment's reference at your processor (a Stripe PaymentIntent id, say), once you have verified it: the hold may then be confirmed. Slotlock records payment state and never moves money. The same reference again answers the same hold (replayed: true) while it is held or once it is booked (confirmed, or booked as an event), whatever became of the booking since: the payment is kept apart from the hold. A hold that ended without a booking after it was paid (expired, or let go) answers 409 hold_ended: the payment was never applied, so refund it; the feed's hold.expired or hold.released says so too (payment_unapplied). Another reference answers 409 payment_conflict, naming the one recorded (payment_ref). When the hold names its payment, received must be at least that amount in that currency (409 payment_amount_mismatch). The feed says so (hold.paid). A hold that does not wait for payment answers 409 payment_not_required; one that expired before it was paid, 409 hold_expired (refund the payment: its time may be someone else's); one released before it was paid, or unknown, 404 hold_not_found.",
|
|
18955
19468
|
"tags": [
|
|
18956
19469
|
"Application"
|
|
18957
19470
|
],
|
|
@@ -25911,6 +26424,1373 @@
|
|
|
25911
26424
|
}
|
|
25912
26425
|
}
|
|
25913
26426
|
},
|
|
26427
|
+
"/v1/audit": {
|
|
26428
|
+
"get": {
|
|
26429
|
+
"operationId": "slotlock_list_audit_events",
|
|
26430
|
+
"summary": "List audit events",
|
|
26431
|
+
"description": "The workspace audit log, newest first: who did what to its people, keys, webhooks, billing and settings, from where, and whether it was refused. Actors are references (github:<id>, api_key:<id>), never names. Each event carries its place in the tenant's hash chain and its hash (slotlock_verify_audit_log checks them). Only events of action or actor_ref when given; pass next_cursor as cursor for the next page, until it is null. Events are kept 180 days, 400 on the Team plan. Where hosted plans apply, the log is read this way on the Team plan only (403 team_plan_required).",
|
|
26432
|
+
"tags": [
|
|
26433
|
+
"Application"
|
|
26434
|
+
],
|
|
26435
|
+
"x-slotlock-scope": "admin",
|
|
26436
|
+
"parameters": [
|
|
26437
|
+
{
|
|
26438
|
+
"name": "limit",
|
|
26439
|
+
"in": "query",
|
|
26440
|
+
"required": false,
|
|
26441
|
+
"schema": {
|
|
26442
|
+
"default": 50,
|
|
26443
|
+
"type": "integer",
|
|
26444
|
+
"minimum": 1,
|
|
26445
|
+
"maximum": 200
|
|
26446
|
+
}
|
|
26447
|
+
},
|
|
26448
|
+
{
|
|
26449
|
+
"name": "cursor",
|
|
26450
|
+
"in": "query",
|
|
26451
|
+
"required": false,
|
|
26452
|
+
"schema": {
|
|
26453
|
+
"type": "string",
|
|
26454
|
+
"format": "uuid"
|
|
26455
|
+
}
|
|
26456
|
+
},
|
|
26457
|
+
{
|
|
26458
|
+
"name": "action",
|
|
26459
|
+
"in": "query",
|
|
26460
|
+
"required": false,
|
|
26461
|
+
"schema": {
|
|
26462
|
+
"type": "string",
|
|
26463
|
+
"pattern": "^[a-z][a-z_]{0,31}(\\.[a-z][a-z_]{0,31}){1,2}$"
|
|
26464
|
+
}
|
|
26465
|
+
},
|
|
26466
|
+
{
|
|
26467
|
+
"name": "actor_ref",
|
|
26468
|
+
"in": "query",
|
|
26469
|
+
"required": false,
|
|
26470
|
+
"schema": {
|
|
26471
|
+
"type": "string",
|
|
26472
|
+
"minLength": 1,
|
|
26473
|
+
"maxLength": 500
|
|
26474
|
+
}
|
|
26475
|
+
}
|
|
26476
|
+
],
|
|
26477
|
+
"responses": {
|
|
26478
|
+
"200": {
|
|
26479
|
+
"description": "The operation ran.",
|
|
26480
|
+
"content": {
|
|
26481
|
+
"application/json": {
|
|
26482
|
+
"schema": {
|
|
26483
|
+
"type": "object",
|
|
26484
|
+
"properties": {
|
|
26485
|
+
"events": {
|
|
26486
|
+
"maxItems": 200,
|
|
26487
|
+
"type": "array",
|
|
26488
|
+
"items": {
|
|
26489
|
+
"type": "object",
|
|
26490
|
+
"properties": {
|
|
26491
|
+
"id": {
|
|
26492
|
+
"type": "string",
|
|
26493
|
+
"format": "uuid"
|
|
26494
|
+
},
|
|
26495
|
+
"occurred_at": {
|
|
26496
|
+
"type": "string",
|
|
26497
|
+
"format": "date-time"
|
|
26498
|
+
},
|
|
26499
|
+
"action": {
|
|
26500
|
+
"type": "string",
|
|
26501
|
+
"minLength": 3,
|
|
26502
|
+
"maxLength": 100
|
|
26503
|
+
},
|
|
26504
|
+
"actor_type": {
|
|
26505
|
+
"type": "string",
|
|
26506
|
+
"enum": [
|
|
26507
|
+
"person",
|
|
26508
|
+
"api_key",
|
|
26509
|
+
"assistant",
|
|
26510
|
+
"system"
|
|
26511
|
+
]
|
|
26512
|
+
},
|
|
26513
|
+
"actor_ref": {
|
|
26514
|
+
"type": "string",
|
|
26515
|
+
"minLength": 1,
|
|
26516
|
+
"maxLength": 500
|
|
26517
|
+
},
|
|
26518
|
+
"actor_role": {
|
|
26519
|
+
"anyOf": [
|
|
26520
|
+
{
|
|
26521
|
+
"type": "string",
|
|
26522
|
+
"enum": [
|
|
26523
|
+
"owner",
|
|
26524
|
+
"admin",
|
|
26525
|
+
"developer",
|
|
26526
|
+
"member",
|
|
26527
|
+
"viewer",
|
|
26528
|
+
"billing"
|
|
26529
|
+
]
|
|
26530
|
+
},
|
|
26531
|
+
{
|
|
26532
|
+
"type": "null"
|
|
26533
|
+
}
|
|
26534
|
+
]
|
|
26535
|
+
},
|
|
26536
|
+
"target_type": {
|
|
26537
|
+
"anyOf": [
|
|
26538
|
+
{
|
|
26539
|
+
"type": "string",
|
|
26540
|
+
"minLength": 1,
|
|
26541
|
+
"maxLength": 32
|
|
26542
|
+
},
|
|
26543
|
+
{
|
|
26544
|
+
"type": "null"
|
|
26545
|
+
}
|
|
26546
|
+
]
|
|
26547
|
+
},
|
|
26548
|
+
"target_ref": {
|
|
26549
|
+
"anyOf": [
|
|
26550
|
+
{
|
|
26551
|
+
"type": "string",
|
|
26552
|
+
"minLength": 1,
|
|
26553
|
+
"maxLength": 500
|
|
26554
|
+
},
|
|
26555
|
+
{
|
|
26556
|
+
"type": "null"
|
|
26557
|
+
}
|
|
26558
|
+
]
|
|
26559
|
+
},
|
|
26560
|
+
"outcome": {
|
|
26561
|
+
"type": "string",
|
|
26562
|
+
"enum": [
|
|
26563
|
+
"success",
|
|
26564
|
+
"denied"
|
|
26565
|
+
]
|
|
26566
|
+
},
|
|
26567
|
+
"reason": {
|
|
26568
|
+
"anyOf": [
|
|
26569
|
+
{
|
|
26570
|
+
"type": "string",
|
|
26571
|
+
"minLength": 1,
|
|
26572
|
+
"maxLength": 200
|
|
26573
|
+
},
|
|
26574
|
+
{
|
|
26575
|
+
"type": "null"
|
|
26576
|
+
}
|
|
26577
|
+
]
|
|
26578
|
+
},
|
|
26579
|
+
"ip_address": {
|
|
26580
|
+
"anyOf": [
|
|
26581
|
+
{
|
|
26582
|
+
"type": "string",
|
|
26583
|
+
"minLength": 1,
|
|
26584
|
+
"maxLength": 64
|
|
26585
|
+
},
|
|
26586
|
+
{
|
|
26587
|
+
"type": "null"
|
|
26588
|
+
}
|
|
26589
|
+
]
|
|
26590
|
+
},
|
|
26591
|
+
"user_agent": {
|
|
26592
|
+
"anyOf": [
|
|
26593
|
+
{
|
|
26594
|
+
"type": "string",
|
|
26595
|
+
"minLength": 1,
|
|
26596
|
+
"maxLength": 256
|
|
26597
|
+
},
|
|
26598
|
+
{
|
|
26599
|
+
"type": "null"
|
|
26600
|
+
}
|
|
26601
|
+
]
|
|
26602
|
+
},
|
|
26603
|
+
"metadata": {
|
|
26604
|
+
"type": "object",
|
|
26605
|
+
"propertyNames": {
|
|
26606
|
+
"type": "string"
|
|
26607
|
+
},
|
|
26608
|
+
"additionalProperties": {}
|
|
26609
|
+
},
|
|
26610
|
+
"chain_index": {
|
|
26611
|
+
"anyOf": [
|
|
26612
|
+
{
|
|
26613
|
+
"type": "integer",
|
|
26614
|
+
"minimum": 1,
|
|
26615
|
+
"maximum": 9007199254740991
|
|
26616
|
+
},
|
|
26617
|
+
{
|
|
26618
|
+
"type": "null"
|
|
26619
|
+
}
|
|
26620
|
+
]
|
|
26621
|
+
},
|
|
26622
|
+
"hash": {
|
|
26623
|
+
"anyOf": [
|
|
26624
|
+
{
|
|
26625
|
+
"type": "string",
|
|
26626
|
+
"pattern": "^[0-9a-f]{64}$"
|
|
26627
|
+
},
|
|
26628
|
+
{
|
|
26629
|
+
"type": "null"
|
|
26630
|
+
}
|
|
26631
|
+
]
|
|
26632
|
+
}
|
|
26633
|
+
},
|
|
26634
|
+
"required": [
|
|
26635
|
+
"id",
|
|
26636
|
+
"occurred_at",
|
|
26637
|
+
"action",
|
|
26638
|
+
"actor_type",
|
|
26639
|
+
"actor_ref",
|
|
26640
|
+
"actor_role",
|
|
26641
|
+
"target_type",
|
|
26642
|
+
"target_ref",
|
|
26643
|
+
"outcome",
|
|
26644
|
+
"reason",
|
|
26645
|
+
"ip_address",
|
|
26646
|
+
"user_agent",
|
|
26647
|
+
"metadata",
|
|
26648
|
+
"chain_index",
|
|
26649
|
+
"hash"
|
|
26650
|
+
],
|
|
26651
|
+
"additionalProperties": false
|
|
26652
|
+
}
|
|
26653
|
+
},
|
|
26654
|
+
"next_cursor": {
|
|
26655
|
+
"anyOf": [
|
|
26656
|
+
{
|
|
26657
|
+
"type": "string",
|
|
26658
|
+
"format": "uuid"
|
|
26659
|
+
},
|
|
26660
|
+
{
|
|
26661
|
+
"type": "null"
|
|
26662
|
+
}
|
|
26663
|
+
]
|
|
26664
|
+
}
|
|
26665
|
+
},
|
|
26666
|
+
"required": [
|
|
26667
|
+
"events",
|
|
26668
|
+
"next_cursor"
|
|
26669
|
+
],
|
|
26670
|
+
"additionalProperties": false
|
|
26671
|
+
}
|
|
26672
|
+
}
|
|
26673
|
+
}
|
|
26674
|
+
},
|
|
26675
|
+
"400": {
|
|
26676
|
+
"$ref": "#/components/responses/Error"
|
|
26677
|
+
},
|
|
26678
|
+
"401": {
|
|
26679
|
+
"$ref": "#/components/responses/Error"
|
|
26680
|
+
},
|
|
26681
|
+
"403": {
|
|
26682
|
+
"$ref": "#/components/responses/Error"
|
|
26683
|
+
},
|
|
26684
|
+
"404": {
|
|
26685
|
+
"$ref": "#/components/responses/Error"
|
|
26686
|
+
},
|
|
26687
|
+
"429": {
|
|
26688
|
+
"$ref": "#/components/responses/Error"
|
|
26689
|
+
},
|
|
26690
|
+
"default": {
|
|
26691
|
+
"$ref": "#/components/responses/Error"
|
|
26692
|
+
}
|
|
26693
|
+
}
|
|
26694
|
+
}
|
|
26695
|
+
},
|
|
26696
|
+
"/v1/audit/verify": {
|
|
26697
|
+
"get": {
|
|
26698
|
+
"operationId": "slotlock_verify_audit_log",
|
|
26699
|
+
"summary": "Verify the audit log",
|
|
26700
|
+
"description": "Check the workspace audit log's hash chain from its oldest event kept: each event numbered after the one before, linked to its hash, and hashed over its own content. checked counts the events that held; broken_at is the number of the first that does not (an event changed, removed or reordered outside Slotlock), or null when every one does.",
|
|
26701
|
+
"tags": [
|
|
26702
|
+
"Application"
|
|
26703
|
+
],
|
|
26704
|
+
"x-slotlock-scope": "admin",
|
|
26705
|
+
"responses": {
|
|
26706
|
+
"200": {
|
|
26707
|
+
"description": "The operation ran.",
|
|
26708
|
+
"content": {
|
|
26709
|
+
"application/json": {
|
|
26710
|
+
"schema": {
|
|
26711
|
+
"type": "object",
|
|
26712
|
+
"properties": {
|
|
26713
|
+
"checked": {
|
|
26714
|
+
"type": "integer",
|
|
26715
|
+
"minimum": 0,
|
|
26716
|
+
"maximum": 9007199254740991
|
|
26717
|
+
},
|
|
26718
|
+
"broken_at": {
|
|
26719
|
+
"anyOf": [
|
|
26720
|
+
{
|
|
26721
|
+
"type": "integer",
|
|
26722
|
+
"minimum": 1,
|
|
26723
|
+
"maximum": 9007199254740991
|
|
26724
|
+
},
|
|
26725
|
+
{
|
|
26726
|
+
"type": "null"
|
|
26727
|
+
}
|
|
26728
|
+
]
|
|
26729
|
+
}
|
|
26730
|
+
},
|
|
26731
|
+
"required": [
|
|
26732
|
+
"checked",
|
|
26733
|
+
"broken_at"
|
|
26734
|
+
],
|
|
26735
|
+
"additionalProperties": false
|
|
26736
|
+
}
|
|
26737
|
+
}
|
|
26738
|
+
}
|
|
26739
|
+
},
|
|
26740
|
+
"400": {
|
|
26741
|
+
"$ref": "#/components/responses/Error"
|
|
26742
|
+
},
|
|
26743
|
+
"401": {
|
|
26744
|
+
"$ref": "#/components/responses/Error"
|
|
26745
|
+
},
|
|
26746
|
+
"403": {
|
|
26747
|
+
"$ref": "#/components/responses/Error"
|
|
26748
|
+
},
|
|
26749
|
+
"404": {
|
|
26750
|
+
"$ref": "#/components/responses/Error"
|
|
26751
|
+
},
|
|
26752
|
+
"429": {
|
|
26753
|
+
"$ref": "#/components/responses/Error"
|
|
26754
|
+
},
|
|
26755
|
+
"default": {
|
|
26756
|
+
"$ref": "#/components/responses/Error"
|
|
26757
|
+
}
|
|
26758
|
+
}
|
|
26759
|
+
}
|
|
26760
|
+
},
|
|
26761
|
+
"/v1/subjects/export": {
|
|
26762
|
+
"post": {
|
|
26763
|
+
"operationId": "slotlock_export_subject",
|
|
26764
|
+
"summary": "Export a person's data",
|
|
26765
|
+
"description": "What the tenant keeps about one person, for an access request: the rows that name them, as kept, by table (contacts, calendar_event_attendees, calendar_events, reservations, reservation_tombstones, reservation_conflict_archive, calendar_event_tombstones, calendar_event_commands, waitlist_entries, approvals, outbox), up to 1,000 a table (truncated: true when a table had more). Name them by exactly one of email (contacts, event attendees and organizers, ignoring case), holder (holds, bookings and waitlist entries), contact (a contact's reference) or reference (a booking's or an event's). It lists what slotlock_erase_subject would delete or take them out of: the bookings, changes and approvals that name their contacts too. An event lists its time and title, and an approval its decision, never the other people they name. 400 invalid_subject when no identifier, or more than one, is given.",
|
|
26766
|
+
"tags": [
|
|
26767
|
+
"Application"
|
|
26768
|
+
],
|
|
26769
|
+
"x-slotlock-scope": "admin",
|
|
26770
|
+
"requestBody": {
|
|
26771
|
+
"required": true,
|
|
26772
|
+
"content": {
|
|
26773
|
+
"application/json": {
|
|
26774
|
+
"schema": {
|
|
26775
|
+
"type": "object",
|
|
26776
|
+
"properties": {
|
|
26777
|
+
"email": {
|
|
26778
|
+
"type": "string",
|
|
26779
|
+
"minLength": 3,
|
|
26780
|
+
"maxLength": 320,
|
|
26781
|
+
"pattern": "^[^\\s@]+@[^\\s@]+$"
|
|
26782
|
+
},
|
|
26783
|
+
"holder": {
|
|
26784
|
+
"type": "string",
|
|
26785
|
+
"minLength": 1,
|
|
26786
|
+
"maxLength": 500
|
|
26787
|
+
},
|
|
26788
|
+
"contact": {
|
|
26789
|
+
"type": "string",
|
|
26790
|
+
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$"
|
|
26791
|
+
},
|
|
26792
|
+
"reference": {
|
|
26793
|
+
"type": "string",
|
|
26794
|
+
"minLength": 1,
|
|
26795
|
+
"maxLength": 500
|
|
26796
|
+
}
|
|
26797
|
+
},
|
|
26798
|
+
"additionalProperties": false
|
|
26799
|
+
}
|
|
26800
|
+
}
|
|
26801
|
+
}
|
|
26802
|
+
},
|
|
26803
|
+
"responses": {
|
|
26804
|
+
"200": {
|
|
26805
|
+
"description": "The operation ran.",
|
|
26806
|
+
"content": {
|
|
26807
|
+
"application/json": {
|
|
26808
|
+
"schema": {
|
|
26809
|
+
"type": "object",
|
|
26810
|
+
"properties": {
|
|
26811
|
+
"records": {
|
|
26812
|
+
"type": "object",
|
|
26813
|
+
"properties": {
|
|
26814
|
+
"contacts": {
|
|
26815
|
+
"maxItems": 1000,
|
|
26816
|
+
"type": "array",
|
|
26817
|
+
"items": {
|
|
26818
|
+
"type": "object",
|
|
26819
|
+
"propertyNames": {
|
|
26820
|
+
"type": "string"
|
|
26821
|
+
},
|
|
26822
|
+
"additionalProperties": {}
|
|
26823
|
+
}
|
|
26824
|
+
},
|
|
26825
|
+
"calendar_event_attendees": {
|
|
26826
|
+
"maxItems": 1000,
|
|
26827
|
+
"type": "array",
|
|
26828
|
+
"items": {
|
|
26829
|
+
"type": "object",
|
|
26830
|
+
"propertyNames": {
|
|
26831
|
+
"type": "string"
|
|
26832
|
+
},
|
|
26833
|
+
"additionalProperties": {}
|
|
26834
|
+
}
|
|
26835
|
+
},
|
|
26836
|
+
"calendar_events": {
|
|
26837
|
+
"maxItems": 1000,
|
|
26838
|
+
"type": "array",
|
|
26839
|
+
"items": {
|
|
26840
|
+
"type": "object",
|
|
26841
|
+
"propertyNames": {
|
|
26842
|
+
"type": "string"
|
|
26843
|
+
},
|
|
26844
|
+
"additionalProperties": {}
|
|
26845
|
+
}
|
|
26846
|
+
},
|
|
26847
|
+
"reservations": {
|
|
26848
|
+
"maxItems": 1000,
|
|
26849
|
+
"type": "array",
|
|
26850
|
+
"items": {
|
|
26851
|
+
"type": "object",
|
|
26852
|
+
"propertyNames": {
|
|
26853
|
+
"type": "string"
|
|
26854
|
+
},
|
|
26855
|
+
"additionalProperties": {}
|
|
26856
|
+
}
|
|
26857
|
+
},
|
|
26858
|
+
"reservation_tombstones": {
|
|
26859
|
+
"maxItems": 1000,
|
|
26860
|
+
"type": "array",
|
|
26861
|
+
"items": {
|
|
26862
|
+
"type": "object",
|
|
26863
|
+
"propertyNames": {
|
|
26864
|
+
"type": "string"
|
|
26865
|
+
},
|
|
26866
|
+
"additionalProperties": {}
|
|
26867
|
+
}
|
|
26868
|
+
},
|
|
26869
|
+
"reservation_conflict_archive": {
|
|
26870
|
+
"maxItems": 1000,
|
|
26871
|
+
"type": "array",
|
|
26872
|
+
"items": {
|
|
26873
|
+
"type": "object",
|
|
26874
|
+
"propertyNames": {
|
|
26875
|
+
"type": "string"
|
|
26876
|
+
},
|
|
26877
|
+
"additionalProperties": {}
|
|
26878
|
+
}
|
|
26879
|
+
},
|
|
26880
|
+
"calendar_event_tombstones": {
|
|
26881
|
+
"maxItems": 1000,
|
|
26882
|
+
"type": "array",
|
|
26883
|
+
"items": {
|
|
26884
|
+
"type": "object",
|
|
26885
|
+
"propertyNames": {
|
|
26886
|
+
"type": "string"
|
|
26887
|
+
},
|
|
26888
|
+
"additionalProperties": {}
|
|
26889
|
+
}
|
|
26890
|
+
},
|
|
26891
|
+
"calendar_event_commands": {
|
|
26892
|
+
"maxItems": 1000,
|
|
26893
|
+
"type": "array",
|
|
26894
|
+
"items": {
|
|
26895
|
+
"type": "object",
|
|
26896
|
+
"propertyNames": {
|
|
26897
|
+
"type": "string"
|
|
26898
|
+
},
|
|
26899
|
+
"additionalProperties": {}
|
|
26900
|
+
}
|
|
26901
|
+
},
|
|
26902
|
+
"waitlist_entries": {
|
|
26903
|
+
"maxItems": 1000,
|
|
26904
|
+
"type": "array",
|
|
26905
|
+
"items": {
|
|
26906
|
+
"type": "object",
|
|
26907
|
+
"propertyNames": {
|
|
26908
|
+
"type": "string"
|
|
26909
|
+
},
|
|
26910
|
+
"additionalProperties": {}
|
|
26911
|
+
}
|
|
26912
|
+
},
|
|
26913
|
+
"approvals": {
|
|
26914
|
+
"maxItems": 1000,
|
|
26915
|
+
"type": "array",
|
|
26916
|
+
"items": {
|
|
26917
|
+
"type": "object",
|
|
26918
|
+
"propertyNames": {
|
|
26919
|
+
"type": "string"
|
|
26920
|
+
},
|
|
26921
|
+
"additionalProperties": {}
|
|
26922
|
+
}
|
|
26923
|
+
},
|
|
26924
|
+
"outbox": {
|
|
26925
|
+
"maxItems": 1000,
|
|
26926
|
+
"type": "array",
|
|
26927
|
+
"items": {
|
|
26928
|
+
"type": "object",
|
|
26929
|
+
"propertyNames": {
|
|
26930
|
+
"type": "string"
|
|
26931
|
+
},
|
|
26932
|
+
"additionalProperties": {}
|
|
26933
|
+
}
|
|
26934
|
+
}
|
|
26935
|
+
},
|
|
26936
|
+
"required": [
|
|
26937
|
+
"contacts",
|
|
26938
|
+
"calendar_event_attendees",
|
|
26939
|
+
"calendar_events",
|
|
26940
|
+
"reservations",
|
|
26941
|
+
"reservation_tombstones",
|
|
26942
|
+
"reservation_conflict_archive",
|
|
26943
|
+
"calendar_event_tombstones",
|
|
26944
|
+
"calendar_event_commands",
|
|
26945
|
+
"waitlist_entries",
|
|
26946
|
+
"approvals",
|
|
26947
|
+
"outbox"
|
|
26948
|
+
],
|
|
26949
|
+
"additionalProperties": false
|
|
26950
|
+
},
|
|
26951
|
+
"truncated": {
|
|
26952
|
+
"type": "boolean"
|
|
26953
|
+
}
|
|
26954
|
+
},
|
|
26955
|
+
"required": [
|
|
26956
|
+
"records",
|
|
26957
|
+
"truncated"
|
|
26958
|
+
],
|
|
26959
|
+
"additionalProperties": false
|
|
26960
|
+
}
|
|
26961
|
+
}
|
|
26962
|
+
}
|
|
26963
|
+
},
|
|
26964
|
+
"400": {
|
|
26965
|
+
"$ref": "#/components/responses/Error"
|
|
26966
|
+
},
|
|
26967
|
+
"401": {
|
|
26968
|
+
"$ref": "#/components/responses/Error"
|
|
26969
|
+
},
|
|
26970
|
+
"403": {
|
|
26971
|
+
"$ref": "#/components/responses/Error"
|
|
26972
|
+
},
|
|
26973
|
+
"404": {
|
|
26974
|
+
"$ref": "#/components/responses/Error"
|
|
26975
|
+
},
|
|
26976
|
+
"409": {
|
|
26977
|
+
"$ref": "#/components/responses/Error"
|
|
26978
|
+
},
|
|
26979
|
+
"429": {
|
|
26980
|
+
"$ref": "#/components/responses/Error"
|
|
26981
|
+
},
|
|
26982
|
+
"default": {
|
|
26983
|
+
"$ref": "#/components/responses/Error"
|
|
26984
|
+
}
|
|
26985
|
+
}
|
|
26986
|
+
}
|
|
26987
|
+
},
|
|
26988
|
+
"/v1/subjects/erase": {
|
|
26989
|
+
"post": {
|
|
26990
|
+
"operationId": "slotlock_erase_subject",
|
|
26991
|
+
"summary": "Erase a person",
|
|
26992
|
+
"description": "Take one person out of the tenant's data, for an erasure request, at once: their contacts, attendee entries and waitlist entries are deleted; their email leaves events' attendee and organizer lists and approvals' requests; their holder reference and booking reference become one erased-<32 hex> name wherever they were (holds, bookings, ended bookings, events, the change history, approvals), and their contact's reference leaves bookings and changes. Bookings stay, as time taken, and nobody is told: the feed gets no change. Name them as for slotlock_export_subject. erased counts, by table, the rows deleted or changed; erasing again changes nothing. Recorded in the audit log (subject.erased) without the identifier. 400 invalid_subject when no identifier, or more than one, is given.",
|
|
26993
|
+
"tags": [
|
|
26994
|
+
"Application"
|
|
26995
|
+
],
|
|
26996
|
+
"x-slotlock-scope": "admin",
|
|
26997
|
+
"requestBody": {
|
|
26998
|
+
"required": true,
|
|
26999
|
+
"content": {
|
|
27000
|
+
"application/json": {
|
|
27001
|
+
"schema": {
|
|
27002
|
+
"type": "object",
|
|
27003
|
+
"properties": {
|
|
27004
|
+
"email": {
|
|
27005
|
+
"type": "string",
|
|
27006
|
+
"minLength": 3,
|
|
27007
|
+
"maxLength": 320,
|
|
27008
|
+
"pattern": "^[^\\s@]+@[^\\s@]+$"
|
|
27009
|
+
},
|
|
27010
|
+
"holder": {
|
|
27011
|
+
"type": "string",
|
|
27012
|
+
"minLength": 1,
|
|
27013
|
+
"maxLength": 500
|
|
27014
|
+
},
|
|
27015
|
+
"contact": {
|
|
27016
|
+
"type": "string",
|
|
27017
|
+
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$"
|
|
27018
|
+
},
|
|
27019
|
+
"reference": {
|
|
27020
|
+
"type": "string",
|
|
27021
|
+
"minLength": 1,
|
|
27022
|
+
"maxLength": 500
|
|
27023
|
+
},
|
|
27024
|
+
"dry_run": {
|
|
27025
|
+
"type": "boolean",
|
|
27026
|
+
"description": "Check the write without making it: it runs with every check, the database's included, and is then undone, so nothing is stored, recorded or sent. The answer is what it would have been, with dry_run: true (ids in it are never stored), or the refusal it would have met, alternatives included. Charged as a read."
|
|
27027
|
+
}
|
|
27028
|
+
},
|
|
27029
|
+
"additionalProperties": false
|
|
27030
|
+
}
|
|
27031
|
+
}
|
|
27032
|
+
}
|
|
27033
|
+
},
|
|
27034
|
+
"responses": {
|
|
27035
|
+
"200": {
|
|
27036
|
+
"description": "The operation ran.",
|
|
27037
|
+
"content": {
|
|
27038
|
+
"application/json": {
|
|
27039
|
+
"schema": {
|
|
27040
|
+
"type": "object",
|
|
27041
|
+
"properties": {
|
|
27042
|
+
"erased": {
|
|
27043
|
+
"type": "object",
|
|
27044
|
+
"properties": {
|
|
27045
|
+
"contacts": {
|
|
27046
|
+
"type": "integer",
|
|
27047
|
+
"minimum": 0,
|
|
27048
|
+
"maximum": 9007199254740991
|
|
27049
|
+
},
|
|
27050
|
+
"calendar_event_attendees": {
|
|
27051
|
+
"type": "integer",
|
|
27052
|
+
"minimum": 0,
|
|
27053
|
+
"maximum": 9007199254740991
|
|
27054
|
+
},
|
|
27055
|
+
"calendar_events": {
|
|
27056
|
+
"type": "integer",
|
|
27057
|
+
"minimum": 0,
|
|
27058
|
+
"maximum": 9007199254740991
|
|
27059
|
+
},
|
|
27060
|
+
"reservations": {
|
|
27061
|
+
"type": "integer",
|
|
27062
|
+
"minimum": 0,
|
|
27063
|
+
"maximum": 9007199254740991
|
|
27064
|
+
},
|
|
27065
|
+
"reservation_tombstones": {
|
|
27066
|
+
"type": "integer",
|
|
27067
|
+
"minimum": 0,
|
|
27068
|
+
"maximum": 9007199254740991
|
|
27069
|
+
},
|
|
27070
|
+
"reservation_conflict_archive": {
|
|
27071
|
+
"type": "integer",
|
|
27072
|
+
"minimum": 0,
|
|
27073
|
+
"maximum": 9007199254740991
|
|
27074
|
+
},
|
|
27075
|
+
"calendar_event_tombstones": {
|
|
27076
|
+
"type": "integer",
|
|
27077
|
+
"minimum": 0,
|
|
27078
|
+
"maximum": 9007199254740991
|
|
27079
|
+
},
|
|
27080
|
+
"calendar_event_commands": {
|
|
27081
|
+
"type": "integer",
|
|
27082
|
+
"minimum": 0,
|
|
27083
|
+
"maximum": 9007199254740991
|
|
27084
|
+
},
|
|
27085
|
+
"waitlist_entries": {
|
|
27086
|
+
"type": "integer",
|
|
27087
|
+
"minimum": 0,
|
|
27088
|
+
"maximum": 9007199254740991
|
|
27089
|
+
},
|
|
27090
|
+
"approvals": {
|
|
27091
|
+
"type": "integer",
|
|
27092
|
+
"minimum": 0,
|
|
27093
|
+
"maximum": 9007199254740991
|
|
27094
|
+
},
|
|
27095
|
+
"outbox": {
|
|
27096
|
+
"type": "integer",
|
|
27097
|
+
"minimum": 0,
|
|
27098
|
+
"maximum": 9007199254740991
|
|
27099
|
+
}
|
|
27100
|
+
},
|
|
27101
|
+
"required": [
|
|
27102
|
+
"contacts",
|
|
27103
|
+
"calendar_event_attendees",
|
|
27104
|
+
"calendar_events",
|
|
27105
|
+
"reservations",
|
|
27106
|
+
"reservation_tombstones",
|
|
27107
|
+
"reservation_conflict_archive",
|
|
27108
|
+
"calendar_event_tombstones",
|
|
27109
|
+
"calendar_event_commands",
|
|
27110
|
+
"waitlist_entries",
|
|
27111
|
+
"approvals",
|
|
27112
|
+
"outbox"
|
|
27113
|
+
],
|
|
27114
|
+
"additionalProperties": false
|
|
27115
|
+
},
|
|
27116
|
+
"dry_run": {
|
|
27117
|
+
"type": "boolean",
|
|
27118
|
+
"const": true,
|
|
27119
|
+
"description": "Present on a dry run only: nothing was stored."
|
|
27120
|
+
}
|
|
27121
|
+
},
|
|
27122
|
+
"required": [
|
|
27123
|
+
"erased"
|
|
27124
|
+
],
|
|
27125
|
+
"additionalProperties": false
|
|
27126
|
+
}
|
|
27127
|
+
}
|
|
27128
|
+
}
|
|
27129
|
+
},
|
|
27130
|
+
"400": {
|
|
27131
|
+
"$ref": "#/components/responses/Error"
|
|
27132
|
+
},
|
|
27133
|
+
"401": {
|
|
27134
|
+
"$ref": "#/components/responses/Error"
|
|
27135
|
+
},
|
|
27136
|
+
"403": {
|
|
27137
|
+
"$ref": "#/components/responses/Error"
|
|
27138
|
+
},
|
|
27139
|
+
"404": {
|
|
27140
|
+
"$ref": "#/components/responses/Error"
|
|
27141
|
+
},
|
|
27142
|
+
"409": {
|
|
27143
|
+
"$ref": "#/components/responses/Error"
|
|
27144
|
+
},
|
|
27145
|
+
"429": {
|
|
27146
|
+
"$ref": "#/components/responses/Error"
|
|
27147
|
+
},
|
|
27148
|
+
"default": {
|
|
27149
|
+
"$ref": "#/components/responses/Error"
|
|
27150
|
+
}
|
|
27151
|
+
}
|
|
27152
|
+
}
|
|
27153
|
+
},
|
|
27154
|
+
"/v1/tenant/exports": {
|
|
27155
|
+
"post": {
|
|
27156
|
+
"operationId": "slotlock_create_tenant_export",
|
|
27157
|
+
"summary": "Export the tenant",
|
|
27158
|
+
"description": "Ask for a copy of everything the tenant keeps, to download: every table's rows as kept, read at one moment (resources, locations, resource_groups, resource_group_members, pool_settings, booking_rule_defaults, availability_defaults, availability_exceptions, holiday_calendars, reservations, reservation_tombstones, reservation_conflict_archive, hold_payments, calendar_events, calendar_event_attendees, calendar_event_reminders, calendar_event_exceptions, calendar_event_tombstones, calendar_coverage, source_busy, waitlist_entries, approval_policies, approvals, contacts, webhook_endpoints, assistant_settings, api_keys, outbox, audit_events). Secrets stay out: webhooks' signing secrets, the assistant's provider key and API keys' digests. 11 tables are left out as derived, internal or one member's own (each member's conversations with the assistant). It answers pending at once and is built in the background: slotlock_get_tenant_export says when it is ready, then read its parts with slotlock_get_tenant_export_part. Kept 24 hours once ready, then deleted. One is built at a time (409 export_in_progress) and five are kept (409 export_limit_reached); one past 512 MB fails (error export_too_large) and its operator runs slotlock tenant export. Recorded in the audit log (export.created).",
|
|
27159
|
+
"tags": [
|
|
27160
|
+
"Application"
|
|
27161
|
+
],
|
|
27162
|
+
"x-slotlock-scope": "admin",
|
|
27163
|
+
"requestBody": {
|
|
27164
|
+
"required": true,
|
|
27165
|
+
"content": {
|
|
27166
|
+
"application/json": {
|
|
27167
|
+
"schema": {
|
|
27168
|
+
"type": "object",
|
|
27169
|
+
"properties": {},
|
|
27170
|
+
"additionalProperties": false
|
|
27171
|
+
}
|
|
27172
|
+
}
|
|
27173
|
+
}
|
|
27174
|
+
},
|
|
27175
|
+
"responses": {
|
|
27176
|
+
"200": {
|
|
27177
|
+
"description": "The operation ran.",
|
|
27178
|
+
"content": {
|
|
27179
|
+
"application/json": {
|
|
27180
|
+
"schema": {
|
|
27181
|
+
"type": "object",
|
|
27182
|
+
"properties": {
|
|
27183
|
+
"export": {
|
|
27184
|
+
"type": "object",
|
|
27185
|
+
"properties": {
|
|
27186
|
+
"id": {
|
|
27187
|
+
"type": "string",
|
|
27188
|
+
"format": "uuid"
|
|
27189
|
+
},
|
|
27190
|
+
"status": {
|
|
27191
|
+
"type": "string",
|
|
27192
|
+
"enum": [
|
|
27193
|
+
"pending",
|
|
27194
|
+
"ready",
|
|
27195
|
+
"failed"
|
|
27196
|
+
]
|
|
27197
|
+
},
|
|
27198
|
+
"requested_by": {
|
|
27199
|
+
"anyOf": [
|
|
27200
|
+
{
|
|
27201
|
+
"type": "string",
|
|
27202
|
+
"minLength": 1,
|
|
27203
|
+
"maxLength": 200
|
|
27204
|
+
},
|
|
27205
|
+
{
|
|
27206
|
+
"type": "null"
|
|
27207
|
+
}
|
|
27208
|
+
]
|
|
27209
|
+
},
|
|
27210
|
+
"created_at": {
|
|
27211
|
+
"type": "string",
|
|
27212
|
+
"format": "date-time"
|
|
27213
|
+
},
|
|
27214
|
+
"finished_at": {
|
|
27215
|
+
"anyOf": [
|
|
27216
|
+
{
|
|
27217
|
+
"type": "string",
|
|
27218
|
+
"format": "date-time"
|
|
27219
|
+
},
|
|
27220
|
+
{
|
|
27221
|
+
"type": "null"
|
|
27222
|
+
}
|
|
27223
|
+
]
|
|
27224
|
+
},
|
|
27225
|
+
"expires_at": {
|
|
27226
|
+
"type": "string",
|
|
27227
|
+
"format": "date-time"
|
|
27228
|
+
},
|
|
27229
|
+
"parts": {
|
|
27230
|
+
"type": "integer",
|
|
27231
|
+
"minimum": 0,
|
|
27232
|
+
"maximum": 9007199254740991
|
|
27233
|
+
},
|
|
27234
|
+
"rows": {
|
|
27235
|
+
"type": "integer",
|
|
27236
|
+
"minimum": 0,
|
|
27237
|
+
"maximum": 9007199254740991
|
|
27238
|
+
},
|
|
27239
|
+
"bytes": {
|
|
27240
|
+
"type": "integer",
|
|
27241
|
+
"minimum": 0,
|
|
27242
|
+
"maximum": 9007199254740991
|
|
27243
|
+
},
|
|
27244
|
+
"tables": {
|
|
27245
|
+
"type": "object",
|
|
27246
|
+
"propertyNames": {
|
|
27247
|
+
"type": "string"
|
|
27248
|
+
},
|
|
27249
|
+
"additionalProperties": {
|
|
27250
|
+
"type": "integer",
|
|
27251
|
+
"minimum": 0,
|
|
27252
|
+
"maximum": 9007199254740991
|
|
27253
|
+
}
|
|
27254
|
+
},
|
|
27255
|
+
"error": {
|
|
27256
|
+
"anyOf": [
|
|
27257
|
+
{
|
|
27258
|
+
"type": "string",
|
|
27259
|
+
"minLength": 1,
|
|
27260
|
+
"maxLength": 200
|
|
27261
|
+
},
|
|
27262
|
+
{
|
|
27263
|
+
"type": "null"
|
|
27264
|
+
}
|
|
27265
|
+
]
|
|
27266
|
+
}
|
|
27267
|
+
},
|
|
27268
|
+
"required": [
|
|
27269
|
+
"id",
|
|
27270
|
+
"status",
|
|
27271
|
+
"requested_by",
|
|
27272
|
+
"created_at",
|
|
27273
|
+
"finished_at",
|
|
27274
|
+
"expires_at",
|
|
27275
|
+
"parts",
|
|
27276
|
+
"rows",
|
|
27277
|
+
"bytes",
|
|
27278
|
+
"tables",
|
|
27279
|
+
"error"
|
|
27280
|
+
],
|
|
27281
|
+
"additionalProperties": false
|
|
27282
|
+
}
|
|
27283
|
+
},
|
|
27284
|
+
"required": [
|
|
27285
|
+
"export"
|
|
27286
|
+
],
|
|
27287
|
+
"additionalProperties": false
|
|
27288
|
+
}
|
|
27289
|
+
}
|
|
27290
|
+
}
|
|
27291
|
+
},
|
|
27292
|
+
"400": {
|
|
27293
|
+
"$ref": "#/components/responses/Error"
|
|
27294
|
+
},
|
|
27295
|
+
"401": {
|
|
27296
|
+
"$ref": "#/components/responses/Error"
|
|
27297
|
+
},
|
|
27298
|
+
"403": {
|
|
27299
|
+
"$ref": "#/components/responses/Error"
|
|
27300
|
+
},
|
|
27301
|
+
"404": {
|
|
27302
|
+
"$ref": "#/components/responses/Error"
|
|
27303
|
+
},
|
|
27304
|
+
"409": {
|
|
27305
|
+
"$ref": "#/components/responses/Error"
|
|
27306
|
+
},
|
|
27307
|
+
"429": {
|
|
27308
|
+
"$ref": "#/components/responses/Error"
|
|
27309
|
+
},
|
|
27310
|
+
"default": {
|
|
27311
|
+
"$ref": "#/components/responses/Error"
|
|
27312
|
+
}
|
|
27313
|
+
}
|
|
27314
|
+
},
|
|
27315
|
+
"get": {
|
|
27316
|
+
"operationId": "slotlock_list_tenant_exports",
|
|
27317
|
+
"summary": "List tenant exports",
|
|
27318
|
+
"description": "The tenant's exports, newest first, until each is deleted: pending, ready (with how many parts and rows) or failed.",
|
|
27319
|
+
"tags": [
|
|
27320
|
+
"Application"
|
|
27321
|
+
],
|
|
27322
|
+
"x-slotlock-scope": "admin",
|
|
27323
|
+
"responses": {
|
|
27324
|
+
"200": {
|
|
27325
|
+
"description": "The operation ran.",
|
|
27326
|
+
"content": {
|
|
27327
|
+
"application/json": {
|
|
27328
|
+
"schema": {
|
|
27329
|
+
"type": "object",
|
|
27330
|
+
"properties": {
|
|
27331
|
+
"exports": {
|
|
27332
|
+
"maxItems": 100,
|
|
27333
|
+
"type": "array",
|
|
27334
|
+
"items": {
|
|
27335
|
+
"type": "object",
|
|
27336
|
+
"properties": {
|
|
27337
|
+
"id": {
|
|
27338
|
+
"type": "string",
|
|
27339
|
+
"format": "uuid"
|
|
27340
|
+
},
|
|
27341
|
+
"status": {
|
|
27342
|
+
"type": "string",
|
|
27343
|
+
"enum": [
|
|
27344
|
+
"pending",
|
|
27345
|
+
"ready",
|
|
27346
|
+
"failed"
|
|
27347
|
+
]
|
|
27348
|
+
},
|
|
27349
|
+
"requested_by": {
|
|
27350
|
+
"anyOf": [
|
|
27351
|
+
{
|
|
27352
|
+
"type": "string",
|
|
27353
|
+
"minLength": 1,
|
|
27354
|
+
"maxLength": 200
|
|
27355
|
+
},
|
|
27356
|
+
{
|
|
27357
|
+
"type": "null"
|
|
27358
|
+
}
|
|
27359
|
+
]
|
|
27360
|
+
},
|
|
27361
|
+
"created_at": {
|
|
27362
|
+
"type": "string",
|
|
27363
|
+
"format": "date-time"
|
|
27364
|
+
},
|
|
27365
|
+
"finished_at": {
|
|
27366
|
+
"anyOf": [
|
|
27367
|
+
{
|
|
27368
|
+
"type": "string",
|
|
27369
|
+
"format": "date-time"
|
|
27370
|
+
},
|
|
27371
|
+
{
|
|
27372
|
+
"type": "null"
|
|
27373
|
+
}
|
|
27374
|
+
]
|
|
27375
|
+
},
|
|
27376
|
+
"expires_at": {
|
|
27377
|
+
"type": "string",
|
|
27378
|
+
"format": "date-time"
|
|
27379
|
+
},
|
|
27380
|
+
"parts": {
|
|
27381
|
+
"type": "integer",
|
|
27382
|
+
"minimum": 0,
|
|
27383
|
+
"maximum": 9007199254740991
|
|
27384
|
+
},
|
|
27385
|
+
"rows": {
|
|
27386
|
+
"type": "integer",
|
|
27387
|
+
"minimum": 0,
|
|
27388
|
+
"maximum": 9007199254740991
|
|
27389
|
+
},
|
|
27390
|
+
"bytes": {
|
|
27391
|
+
"type": "integer",
|
|
27392
|
+
"minimum": 0,
|
|
27393
|
+
"maximum": 9007199254740991
|
|
27394
|
+
},
|
|
27395
|
+
"tables": {
|
|
27396
|
+
"type": "object",
|
|
27397
|
+
"propertyNames": {
|
|
27398
|
+
"type": "string"
|
|
27399
|
+
},
|
|
27400
|
+
"additionalProperties": {
|
|
27401
|
+
"type": "integer",
|
|
27402
|
+
"minimum": 0,
|
|
27403
|
+
"maximum": 9007199254740991
|
|
27404
|
+
}
|
|
27405
|
+
},
|
|
27406
|
+
"error": {
|
|
27407
|
+
"anyOf": [
|
|
27408
|
+
{
|
|
27409
|
+
"type": "string",
|
|
27410
|
+
"minLength": 1,
|
|
27411
|
+
"maxLength": 200
|
|
27412
|
+
},
|
|
27413
|
+
{
|
|
27414
|
+
"type": "null"
|
|
27415
|
+
}
|
|
27416
|
+
]
|
|
27417
|
+
}
|
|
27418
|
+
},
|
|
27419
|
+
"required": [
|
|
27420
|
+
"id",
|
|
27421
|
+
"status",
|
|
27422
|
+
"requested_by",
|
|
27423
|
+
"created_at",
|
|
27424
|
+
"finished_at",
|
|
27425
|
+
"expires_at",
|
|
27426
|
+
"parts",
|
|
27427
|
+
"rows",
|
|
27428
|
+
"bytes",
|
|
27429
|
+
"tables",
|
|
27430
|
+
"error"
|
|
27431
|
+
],
|
|
27432
|
+
"additionalProperties": false
|
|
27433
|
+
}
|
|
27434
|
+
}
|
|
27435
|
+
},
|
|
27436
|
+
"required": [
|
|
27437
|
+
"exports"
|
|
27438
|
+
],
|
|
27439
|
+
"additionalProperties": false
|
|
27440
|
+
}
|
|
27441
|
+
}
|
|
27442
|
+
}
|
|
27443
|
+
},
|
|
27444
|
+
"400": {
|
|
27445
|
+
"$ref": "#/components/responses/Error"
|
|
27446
|
+
},
|
|
27447
|
+
"401": {
|
|
27448
|
+
"$ref": "#/components/responses/Error"
|
|
27449
|
+
},
|
|
27450
|
+
"403": {
|
|
27451
|
+
"$ref": "#/components/responses/Error"
|
|
27452
|
+
},
|
|
27453
|
+
"404": {
|
|
27454
|
+
"$ref": "#/components/responses/Error"
|
|
27455
|
+
},
|
|
27456
|
+
"429": {
|
|
27457
|
+
"$ref": "#/components/responses/Error"
|
|
27458
|
+
},
|
|
27459
|
+
"default": {
|
|
27460
|
+
"$ref": "#/components/responses/Error"
|
|
27461
|
+
}
|
|
27462
|
+
}
|
|
27463
|
+
}
|
|
27464
|
+
},
|
|
27465
|
+
"/v1/tenant/exports/{export_id}": {
|
|
27466
|
+
"get": {
|
|
27467
|
+
"operationId": "slotlock_get_tenant_export",
|
|
27468
|
+
"summary": "Get a tenant export",
|
|
27469
|
+
"description": "One of the tenant's exports: whether it is ready, its parts, rows and bytes, and rows by table. An unknown or deleted one answers 404 export_not_found.",
|
|
27470
|
+
"tags": [
|
|
27471
|
+
"Application"
|
|
27472
|
+
],
|
|
27473
|
+
"x-slotlock-scope": "admin",
|
|
27474
|
+
"parameters": [
|
|
27475
|
+
{
|
|
27476
|
+
"name": "export_id",
|
|
27477
|
+
"in": "path",
|
|
27478
|
+
"required": true,
|
|
27479
|
+
"schema": {
|
|
27480
|
+
"type": "string",
|
|
27481
|
+
"format": "uuid"
|
|
27482
|
+
}
|
|
27483
|
+
}
|
|
27484
|
+
],
|
|
27485
|
+
"responses": {
|
|
27486
|
+
"200": {
|
|
27487
|
+
"description": "The operation ran.",
|
|
27488
|
+
"content": {
|
|
27489
|
+
"application/json": {
|
|
27490
|
+
"schema": {
|
|
27491
|
+
"type": "object",
|
|
27492
|
+
"properties": {
|
|
27493
|
+
"export": {
|
|
27494
|
+
"type": "object",
|
|
27495
|
+
"properties": {
|
|
27496
|
+
"id": {
|
|
27497
|
+
"type": "string",
|
|
27498
|
+
"format": "uuid"
|
|
27499
|
+
},
|
|
27500
|
+
"status": {
|
|
27501
|
+
"type": "string",
|
|
27502
|
+
"enum": [
|
|
27503
|
+
"pending",
|
|
27504
|
+
"ready",
|
|
27505
|
+
"failed"
|
|
27506
|
+
]
|
|
27507
|
+
},
|
|
27508
|
+
"requested_by": {
|
|
27509
|
+
"anyOf": [
|
|
27510
|
+
{
|
|
27511
|
+
"type": "string",
|
|
27512
|
+
"minLength": 1,
|
|
27513
|
+
"maxLength": 200
|
|
27514
|
+
},
|
|
27515
|
+
{
|
|
27516
|
+
"type": "null"
|
|
27517
|
+
}
|
|
27518
|
+
]
|
|
27519
|
+
},
|
|
27520
|
+
"created_at": {
|
|
27521
|
+
"type": "string",
|
|
27522
|
+
"format": "date-time"
|
|
27523
|
+
},
|
|
27524
|
+
"finished_at": {
|
|
27525
|
+
"anyOf": [
|
|
27526
|
+
{
|
|
27527
|
+
"type": "string",
|
|
27528
|
+
"format": "date-time"
|
|
27529
|
+
},
|
|
27530
|
+
{
|
|
27531
|
+
"type": "null"
|
|
27532
|
+
}
|
|
27533
|
+
]
|
|
27534
|
+
},
|
|
27535
|
+
"expires_at": {
|
|
27536
|
+
"type": "string",
|
|
27537
|
+
"format": "date-time"
|
|
27538
|
+
},
|
|
27539
|
+
"parts": {
|
|
27540
|
+
"type": "integer",
|
|
27541
|
+
"minimum": 0,
|
|
27542
|
+
"maximum": 9007199254740991
|
|
27543
|
+
},
|
|
27544
|
+
"rows": {
|
|
27545
|
+
"type": "integer",
|
|
27546
|
+
"minimum": 0,
|
|
27547
|
+
"maximum": 9007199254740991
|
|
27548
|
+
},
|
|
27549
|
+
"bytes": {
|
|
27550
|
+
"type": "integer",
|
|
27551
|
+
"minimum": 0,
|
|
27552
|
+
"maximum": 9007199254740991
|
|
27553
|
+
},
|
|
27554
|
+
"tables": {
|
|
27555
|
+
"type": "object",
|
|
27556
|
+
"propertyNames": {
|
|
27557
|
+
"type": "string"
|
|
27558
|
+
},
|
|
27559
|
+
"additionalProperties": {
|
|
27560
|
+
"type": "integer",
|
|
27561
|
+
"minimum": 0,
|
|
27562
|
+
"maximum": 9007199254740991
|
|
27563
|
+
}
|
|
27564
|
+
},
|
|
27565
|
+
"error": {
|
|
27566
|
+
"anyOf": [
|
|
27567
|
+
{
|
|
27568
|
+
"type": "string",
|
|
27569
|
+
"minLength": 1,
|
|
27570
|
+
"maxLength": 200
|
|
27571
|
+
},
|
|
27572
|
+
{
|
|
27573
|
+
"type": "null"
|
|
27574
|
+
}
|
|
27575
|
+
]
|
|
27576
|
+
}
|
|
27577
|
+
},
|
|
27578
|
+
"required": [
|
|
27579
|
+
"id",
|
|
27580
|
+
"status",
|
|
27581
|
+
"requested_by",
|
|
27582
|
+
"created_at",
|
|
27583
|
+
"finished_at",
|
|
27584
|
+
"expires_at",
|
|
27585
|
+
"parts",
|
|
27586
|
+
"rows",
|
|
27587
|
+
"bytes",
|
|
27588
|
+
"tables",
|
|
27589
|
+
"error"
|
|
27590
|
+
],
|
|
27591
|
+
"additionalProperties": false
|
|
27592
|
+
}
|
|
27593
|
+
},
|
|
27594
|
+
"required": [
|
|
27595
|
+
"export"
|
|
27596
|
+
],
|
|
27597
|
+
"additionalProperties": false
|
|
27598
|
+
}
|
|
27599
|
+
}
|
|
27600
|
+
}
|
|
27601
|
+
},
|
|
27602
|
+
"400": {
|
|
27603
|
+
"$ref": "#/components/responses/Error"
|
|
27604
|
+
},
|
|
27605
|
+
"401": {
|
|
27606
|
+
"$ref": "#/components/responses/Error"
|
|
27607
|
+
},
|
|
27608
|
+
"403": {
|
|
27609
|
+
"$ref": "#/components/responses/Error"
|
|
27610
|
+
},
|
|
27611
|
+
"404": {
|
|
27612
|
+
"$ref": "#/components/responses/Error"
|
|
27613
|
+
},
|
|
27614
|
+
"429": {
|
|
27615
|
+
"$ref": "#/components/responses/Error"
|
|
27616
|
+
},
|
|
27617
|
+
"default": {
|
|
27618
|
+
"$ref": "#/components/responses/Error"
|
|
27619
|
+
}
|
|
27620
|
+
}
|
|
27621
|
+
},
|
|
27622
|
+
"delete": {
|
|
27623
|
+
"operationId": "slotlock_delete_tenant_export",
|
|
27624
|
+
"summary": "Delete a tenant export",
|
|
27625
|
+
"description": "Delete one of the tenant's exports at once, with every part, rather than waiting for it to expire. deleted is false when there was none.",
|
|
27626
|
+
"tags": [
|
|
27627
|
+
"Application"
|
|
27628
|
+
],
|
|
27629
|
+
"x-slotlock-scope": "admin",
|
|
27630
|
+
"parameters": [
|
|
27631
|
+
{
|
|
27632
|
+
"name": "export_id",
|
|
27633
|
+
"in": "path",
|
|
27634
|
+
"required": true,
|
|
27635
|
+
"schema": {
|
|
27636
|
+
"type": "string",
|
|
27637
|
+
"format": "uuid"
|
|
27638
|
+
}
|
|
27639
|
+
},
|
|
27640
|
+
{
|
|
27641
|
+
"name": "dry_run",
|
|
27642
|
+
"in": "query",
|
|
27643
|
+
"required": false,
|
|
27644
|
+
"schema": {
|
|
27645
|
+
"type": "boolean",
|
|
27646
|
+
"description": "Check the write without making it: it runs with every check, the database's included, and is then undone, so nothing is stored, recorded or sent. The answer is what it would have been, with dry_run: true (ids in it are never stored), or the refusal it would have met, alternatives included. Charged as a read."
|
|
27647
|
+
}
|
|
27648
|
+
}
|
|
27649
|
+
],
|
|
27650
|
+
"responses": {
|
|
27651
|
+
"200": {
|
|
27652
|
+
"description": "The operation ran.",
|
|
27653
|
+
"content": {
|
|
27654
|
+
"application/json": {
|
|
27655
|
+
"schema": {
|
|
27656
|
+
"type": "object",
|
|
27657
|
+
"properties": {
|
|
27658
|
+
"deleted": {
|
|
27659
|
+
"type": "boolean"
|
|
27660
|
+
},
|
|
27661
|
+
"dry_run": {
|
|
27662
|
+
"type": "boolean",
|
|
27663
|
+
"const": true,
|
|
27664
|
+
"description": "Present on a dry run only: nothing was stored."
|
|
27665
|
+
}
|
|
27666
|
+
},
|
|
27667
|
+
"required": [
|
|
27668
|
+
"deleted"
|
|
27669
|
+
],
|
|
27670
|
+
"additionalProperties": false
|
|
27671
|
+
}
|
|
27672
|
+
}
|
|
27673
|
+
}
|
|
27674
|
+
},
|
|
27675
|
+
"400": {
|
|
27676
|
+
"$ref": "#/components/responses/Error"
|
|
27677
|
+
},
|
|
27678
|
+
"401": {
|
|
27679
|
+
"$ref": "#/components/responses/Error"
|
|
27680
|
+
},
|
|
27681
|
+
"403": {
|
|
27682
|
+
"$ref": "#/components/responses/Error"
|
|
27683
|
+
},
|
|
27684
|
+
"404": {
|
|
27685
|
+
"$ref": "#/components/responses/Error"
|
|
27686
|
+
},
|
|
27687
|
+
"409": {
|
|
27688
|
+
"$ref": "#/components/responses/Error"
|
|
27689
|
+
},
|
|
27690
|
+
"429": {
|
|
27691
|
+
"$ref": "#/components/responses/Error"
|
|
27692
|
+
},
|
|
27693
|
+
"default": {
|
|
27694
|
+
"$ref": "#/components/responses/Error"
|
|
27695
|
+
}
|
|
27696
|
+
}
|
|
27697
|
+
}
|
|
27698
|
+
},
|
|
27699
|
+
"/v1/tenant/exports/{export_id}/parts/{part}": {
|
|
27700
|
+
"get": {
|
|
27701
|
+
"operationId": "slotlock_get_tenant_export_part",
|
|
27702
|
+
"summary": "Read a part of a tenant export",
|
|
27703
|
+
"description": "One part of a ready export, 1 to its parts: one table's rows, each an object as Slotlock keeps it (without the tenant). Write each part's rows as JSON lines to its table's file to keep the export as NDJSON. 409 export_not_ready before it is ready; 404 export_not_found or export_part_not_found.",
|
|
27704
|
+
"tags": [
|
|
27705
|
+
"Application"
|
|
27706
|
+
],
|
|
27707
|
+
"x-slotlock-scope": "admin",
|
|
27708
|
+
"parameters": [
|
|
27709
|
+
{
|
|
27710
|
+
"name": "export_id",
|
|
27711
|
+
"in": "path",
|
|
27712
|
+
"required": true,
|
|
27713
|
+
"schema": {
|
|
27714
|
+
"type": "string",
|
|
27715
|
+
"format": "uuid"
|
|
27716
|
+
}
|
|
27717
|
+
},
|
|
27718
|
+
{
|
|
27719
|
+
"name": "part",
|
|
27720
|
+
"in": "path",
|
|
27721
|
+
"required": true,
|
|
27722
|
+
"schema": {
|
|
27723
|
+
"type": "string",
|
|
27724
|
+
"pattern": "^[1-9][0-9]{0,6}$"
|
|
27725
|
+
}
|
|
27726
|
+
}
|
|
27727
|
+
],
|
|
27728
|
+
"responses": {
|
|
27729
|
+
"200": {
|
|
27730
|
+
"description": "The operation ran.",
|
|
27731
|
+
"content": {
|
|
27732
|
+
"application/json": {
|
|
27733
|
+
"schema": {
|
|
27734
|
+
"type": "object",
|
|
27735
|
+
"properties": {
|
|
27736
|
+
"export_id": {
|
|
27737
|
+
"type": "string",
|
|
27738
|
+
"format": "uuid"
|
|
27739
|
+
},
|
|
27740
|
+
"part": {
|
|
27741
|
+
"type": "integer",
|
|
27742
|
+
"minimum": 1,
|
|
27743
|
+
"maximum": 9007199254740991
|
|
27744
|
+
},
|
|
27745
|
+
"table": {
|
|
27746
|
+
"type": "string",
|
|
27747
|
+
"minLength": 1,
|
|
27748
|
+
"maxLength": 63
|
|
27749
|
+
},
|
|
27750
|
+
"rows": {
|
|
27751
|
+
"maxItems": 5000,
|
|
27752
|
+
"type": "array",
|
|
27753
|
+
"items": {
|
|
27754
|
+
"type": "object",
|
|
27755
|
+
"propertyNames": {
|
|
27756
|
+
"type": "string"
|
|
27757
|
+
},
|
|
27758
|
+
"additionalProperties": {}
|
|
27759
|
+
}
|
|
27760
|
+
}
|
|
27761
|
+
},
|
|
27762
|
+
"required": [
|
|
27763
|
+
"export_id",
|
|
27764
|
+
"part",
|
|
27765
|
+
"table",
|
|
27766
|
+
"rows"
|
|
27767
|
+
],
|
|
27768
|
+
"additionalProperties": false
|
|
27769
|
+
}
|
|
27770
|
+
}
|
|
27771
|
+
}
|
|
27772
|
+
},
|
|
27773
|
+
"400": {
|
|
27774
|
+
"$ref": "#/components/responses/Error"
|
|
27775
|
+
},
|
|
27776
|
+
"401": {
|
|
27777
|
+
"$ref": "#/components/responses/Error"
|
|
27778
|
+
},
|
|
27779
|
+
"403": {
|
|
27780
|
+
"$ref": "#/components/responses/Error"
|
|
27781
|
+
},
|
|
27782
|
+
"404": {
|
|
27783
|
+
"$ref": "#/components/responses/Error"
|
|
27784
|
+
},
|
|
27785
|
+
"429": {
|
|
27786
|
+
"$ref": "#/components/responses/Error"
|
|
27787
|
+
},
|
|
27788
|
+
"default": {
|
|
27789
|
+
"$ref": "#/components/responses/Error"
|
|
27790
|
+
}
|
|
27791
|
+
}
|
|
27792
|
+
}
|
|
27793
|
+
},
|
|
25914
27794
|
"/v1/approval-policies": {
|
|
25915
27795
|
"get": {
|
|
25916
27796
|
"operationId": "slotlock_list_approval_policies",
|