spaps 0.9.0 → 0.9.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/AI_TOOLS.json +2410 -346
- package/README.md +89 -2
- package/client.js +4 -0
- package/package.json +1 -1
- package/src/ai-tool-spec.js +282 -19
- package/src/auth/handlers.js +109 -0
- package/src/auth/surface.js +653 -0
- package/src/cli-dispatcher.js +345 -1
- package/src/doctor.js +97 -5
- package/src/domain-cli.js +1 -0
- package/src/handlers.js +390 -1
- package/src/help-system.js +1 -1
package/AI_TOOLS.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spaps",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Auth + payments via SPAPS. Resolve local auth requirements from /health/local-mode.",
|
|
5
|
-
"base_url": "http://localhost:
|
|
5
|
+
"base_url": "http://localhost:65535",
|
|
6
6
|
"auth": {
|
|
7
7
|
"local_mode": false,
|
|
8
8
|
"mode_source": "/health/local-mode",
|
|
@@ -22,7 +22,15 @@
|
|
|
22
22
|
},
|
|
23
23
|
"responses": {
|
|
24
24
|
"200": {
|
|
25
|
-
"
|
|
25
|
+
"anyOf": [
|
|
26
|
+
{
|
|
27
|
+
"$ref": "#/components/schemas/LoginResponse"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"$ref": "#/components/schemas/MfaRequiredResponse"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"title": "Response Login Api Auth Login Post"
|
|
26
34
|
},
|
|
27
35
|
"400": {
|
|
28
36
|
"type": "object",
|
|
@@ -233,22 +241,17 @@
|
|
|
233
241
|
}
|
|
234
242
|
},
|
|
235
243
|
{
|
|
236
|
-
"name": "
|
|
237
|
-
"description": "
|
|
244
|
+
"name": "auth_methods",
|
|
245
|
+
"description": "Discover the public auth methods configured for this application before rendering sign-in UI.",
|
|
238
246
|
"method": "GET",
|
|
239
|
-
"path": "/api/auth/
|
|
247
|
+
"path": "/api/auth/methods",
|
|
240
248
|
"parameters": {
|
|
241
249
|
"type": "object",
|
|
242
|
-
"properties": {
|
|
243
|
-
"authorization": {
|
|
244
|
-
"type": "string",
|
|
245
|
-
"description": "Bearer <access_token>"
|
|
246
|
-
}
|
|
247
|
-
}
|
|
250
|
+
"properties": {}
|
|
248
251
|
},
|
|
249
252
|
"responses": {
|
|
250
253
|
"200": {
|
|
251
|
-
"$ref": "#/components/schemas/
|
|
254
|
+
"$ref": "#/components/schemas/AuthMethodsResponse"
|
|
252
255
|
},
|
|
253
256
|
"400": {
|
|
254
257
|
"type": "object",
|
|
@@ -346,18 +349,22 @@
|
|
|
346
349
|
}
|
|
347
350
|
},
|
|
348
351
|
{
|
|
349
|
-
"name": "
|
|
350
|
-
"description": "
|
|
351
|
-
"method": "
|
|
352
|
-
"path": "/api/
|
|
352
|
+
"name": "get_current_user",
|
|
353
|
+
"description": "Get the currently authenticated user. Uses the bearer token from a previous login.",
|
|
354
|
+
"method": "GET",
|
|
355
|
+
"path": "/api/auth/user",
|
|
353
356
|
"parameters": {
|
|
354
|
-
"
|
|
357
|
+
"type": "object",
|
|
358
|
+
"properties": {
|
|
359
|
+
"authorization": {
|
|
360
|
+
"type": "string",
|
|
361
|
+
"description": "Bearer <access_token>"
|
|
362
|
+
}
|
|
363
|
+
}
|
|
355
364
|
},
|
|
356
365
|
"responses": {
|
|
357
366
|
"200": {
|
|
358
|
-
"
|
|
359
|
-
"additionalProperties": true,
|
|
360
|
-
"title": "Response Create Checkout Session Api Stripe Checkout Sessions Post"
|
|
367
|
+
"$ref": "#/components/schemas/GetUserResponse"
|
|
361
368
|
},
|
|
362
369
|
"400": {
|
|
363
370
|
"type": "object",
|
|
@@ -418,9 +425,6 @@
|
|
|
418
425
|
"error"
|
|
419
426
|
]
|
|
420
427
|
},
|
|
421
|
-
"422": {
|
|
422
|
-
"$ref": "#/components/schemas/HTTPValidationError"
|
|
423
|
-
},
|
|
424
428
|
"429": {
|
|
425
429
|
"type": "object",
|
|
426
430
|
"properties": {
|
|
@@ -458,26 +462,18 @@
|
|
|
458
462
|
}
|
|
459
463
|
},
|
|
460
464
|
{
|
|
461
|
-
"name": "
|
|
462
|
-
"description": "
|
|
463
|
-
"method": "
|
|
464
|
-
"path": "/api/stripe/
|
|
465
|
+
"name": "create_checkout_session",
|
|
466
|
+
"description": "Create a Stripe Checkout session against the configured SPAPS server.",
|
|
467
|
+
"method": "POST",
|
|
468
|
+
"path": "/api/stripe/checkout-sessions",
|
|
465
469
|
"parameters": {
|
|
466
|
-
"
|
|
467
|
-
"properties": {
|
|
468
|
-
"active": {
|
|
469
|
-
"type": "boolean"
|
|
470
|
-
},
|
|
471
|
-
"limit": {
|
|
472
|
-
"type": "number"
|
|
473
|
-
}
|
|
474
|
-
}
|
|
470
|
+
"$ref": "#/components/schemas/CreateCheckoutSessionRequest"
|
|
475
471
|
},
|
|
476
472
|
"responses": {
|
|
477
473
|
"200": {
|
|
478
474
|
"type": "object",
|
|
479
475
|
"additionalProperties": true,
|
|
480
|
-
"title": "Response
|
|
476
|
+
"title": "Response Create Checkout Session Api Stripe Checkout Sessions Post"
|
|
481
477
|
},
|
|
482
478
|
"400": {
|
|
483
479
|
"type": "object",
|
|
@@ -578,16 +574,26 @@
|
|
|
578
574
|
}
|
|
579
575
|
},
|
|
580
576
|
{
|
|
581
|
-
"name": "
|
|
582
|
-
"description": "
|
|
583
|
-
"method": "
|
|
584
|
-
"path": "/api/
|
|
577
|
+
"name": "list_products",
|
|
578
|
+
"description": "List products exposed by the SPAPS server.",
|
|
579
|
+
"method": "GET",
|
|
580
|
+
"path": "/api/stripe/products",
|
|
585
581
|
"parameters": {
|
|
586
|
-
"
|
|
582
|
+
"type": "object",
|
|
583
|
+
"properties": {
|
|
584
|
+
"active": {
|
|
585
|
+
"type": "boolean"
|
|
586
|
+
},
|
|
587
|
+
"limit": {
|
|
588
|
+
"type": "number"
|
|
589
|
+
}
|
|
590
|
+
}
|
|
587
591
|
},
|
|
588
592
|
"responses": {
|
|
589
593
|
"200": {
|
|
590
|
-
"
|
|
594
|
+
"type": "object",
|
|
595
|
+
"additionalProperties": true,
|
|
596
|
+
"title": "Response List Products Api Stripe Products Get"
|
|
591
597
|
},
|
|
592
598
|
"400": {
|
|
593
599
|
"type": "object",
|
|
@@ -688,16 +694,16 @@
|
|
|
688
694
|
}
|
|
689
695
|
},
|
|
690
696
|
{
|
|
691
|
-
"name": "
|
|
692
|
-
"description": "
|
|
697
|
+
"name": "request_magic_link",
|
|
698
|
+
"description": "Send a magic link for passwordless login.",
|
|
693
699
|
"method": "POST",
|
|
694
|
-
"path": "/api/auth/
|
|
700
|
+
"path": "/api/auth/magic-link",
|
|
695
701
|
"parameters": {
|
|
696
|
-
"$ref": "#/components/schemas/
|
|
702
|
+
"$ref": "#/components/schemas/MagicLinkRequest"
|
|
697
703
|
},
|
|
698
704
|
"responses": {
|
|
699
705
|
"200": {
|
|
700
|
-
"$ref": "#/components/schemas/
|
|
706
|
+
"$ref": "#/components/schemas/MagicLinkResponse"
|
|
701
707
|
},
|
|
702
708
|
"400": {
|
|
703
709
|
"type": "object",
|
|
@@ -798,20 +804,16 @@
|
|
|
798
804
|
}
|
|
799
805
|
},
|
|
800
806
|
{
|
|
801
|
-
"name": "
|
|
802
|
-
"description": "
|
|
803
|
-
"method": "
|
|
804
|
-
"path": "/api/
|
|
807
|
+
"name": "get_wallet_nonce",
|
|
808
|
+
"description": "Get a nonce to sign for wallet authentication.",
|
|
809
|
+
"method": "POST",
|
|
810
|
+
"path": "/api/auth/nonce",
|
|
805
811
|
"parameters": {
|
|
806
|
-
"
|
|
807
|
-
"properties": {}
|
|
812
|
+
"$ref": "#/components/schemas/NonceRequest"
|
|
808
813
|
},
|
|
809
|
-
"domain": "dayrate",
|
|
810
|
-
"admin_required": false,
|
|
811
|
-
"agent_callable": true,
|
|
812
814
|
"responses": {
|
|
813
815
|
"200": {
|
|
814
|
-
"$ref": "#/components/schemas/
|
|
816
|
+
"$ref": "#/components/schemas/NonceResponse"
|
|
815
817
|
},
|
|
816
818
|
"400": {
|
|
817
819
|
"type": "object",
|
|
@@ -872,6 +874,9 @@
|
|
|
872
874
|
"error"
|
|
873
875
|
]
|
|
874
876
|
},
|
|
877
|
+
"422": {
|
|
878
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
879
|
+
},
|
|
875
880
|
"429": {
|
|
876
881
|
"type": "object",
|
|
877
882
|
"properties": {
|
|
@@ -909,18 +914,25 @@
|
|
|
909
914
|
}
|
|
910
915
|
},
|
|
911
916
|
{
|
|
912
|
-
"name": "
|
|
913
|
-
"description": "
|
|
917
|
+
"name": "wallet_sign_in",
|
|
918
|
+
"description": "Exchange a signed wallet nonce for SPAPS tokens or an mfa_required challenge.",
|
|
914
919
|
"method": "POST",
|
|
915
|
-
"path": "/api/
|
|
920
|
+
"path": "/api/auth/wallet-sign-in",
|
|
916
921
|
"parameters": {
|
|
917
|
-
"$ref": "#/components/schemas/
|
|
922
|
+
"$ref": "#/components/schemas/WalletSignInRequest"
|
|
918
923
|
},
|
|
919
|
-
"domain": "dayrate",
|
|
920
|
-
"admin_required": false,
|
|
921
|
-
"agent_callable": true,
|
|
922
924
|
"responses": {
|
|
923
|
-
"200": {
|
|
925
|
+
"200": {
|
|
926
|
+
"anyOf": [
|
|
927
|
+
{
|
|
928
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__auth__schemas__WalletSignInResponse"
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
"$ref": "#/components/schemas/MfaRequiredResponse"
|
|
932
|
+
}
|
|
933
|
+
],
|
|
934
|
+
"title": "Response Wallet Sign In Api Auth Wallet Sign In Post"
|
|
935
|
+
},
|
|
924
936
|
"400": {
|
|
925
937
|
"type": "object",
|
|
926
938
|
"properties": {
|
|
@@ -1020,19 +1032,24 @@
|
|
|
1020
1032
|
}
|
|
1021
1033
|
},
|
|
1022
1034
|
{
|
|
1023
|
-
"name": "
|
|
1024
|
-
"description": "
|
|
1035
|
+
"name": "verify_magic_link",
|
|
1036
|
+
"description": "Exchange a magic-link token for SPAPS tokens or an mfa_required challenge.",
|
|
1025
1037
|
"method": "POST",
|
|
1026
|
-
"path": "/api/
|
|
1038
|
+
"path": "/api/auth/verify-magic-link",
|
|
1027
1039
|
"parameters": {
|
|
1028
|
-
"$ref": "#/components/schemas/
|
|
1040
|
+
"$ref": "#/components/schemas/VerifyMagicLinkRequest"
|
|
1029
1041
|
},
|
|
1030
|
-
"domain": "dayrate",
|
|
1031
|
-
"admin_required": false,
|
|
1032
|
-
"agent_callable": true,
|
|
1033
1042
|
"responses": {
|
|
1034
1043
|
"200": {
|
|
1035
|
-
"
|
|
1044
|
+
"anyOf": [
|
|
1045
|
+
{
|
|
1046
|
+
"$ref": "#/components/schemas/VerifyMagicLinkResponse"
|
|
1047
|
+
},
|
|
1048
|
+
{
|
|
1049
|
+
"$ref": "#/components/schemas/MfaRequiredResponse"
|
|
1050
|
+
}
|
|
1051
|
+
],
|
|
1052
|
+
"title": "Response Verify Magic Link Api Auth Verify Magic Link Post"
|
|
1036
1053
|
},
|
|
1037
1054
|
"400": {
|
|
1038
1055
|
"type": "object",
|
|
@@ -1133,20 +1150,17 @@
|
|
|
1133
1150
|
}
|
|
1134
1151
|
},
|
|
1135
1152
|
{
|
|
1136
|
-
"name": "
|
|
1137
|
-
"description": "
|
|
1138
|
-
"method": "
|
|
1139
|
-
"path": "/api/
|
|
1153
|
+
"name": "oidc_nonce",
|
|
1154
|
+
"description": "Create a nonce challenge before exchanging an OIDC provider ID token.",
|
|
1155
|
+
"method": "POST",
|
|
1156
|
+
"path": "/api/auth/oidc/nonce",
|
|
1140
1157
|
"parameters": {
|
|
1141
1158
|
"type": "object",
|
|
1142
1159
|
"properties": {}
|
|
1143
1160
|
},
|
|
1144
|
-
"domain": "dayrate",
|
|
1145
|
-
"admin_required": false,
|
|
1146
|
-
"agent_callable": true,
|
|
1147
1161
|
"responses": {
|
|
1148
1162
|
"200": {
|
|
1149
|
-
"$ref": "#/components/schemas/
|
|
1163
|
+
"$ref": "#/components/schemas/OidcNonceResponse"
|
|
1150
1164
|
},
|
|
1151
1165
|
"400": {
|
|
1152
1166
|
"type": "object",
|
|
@@ -1207,9 +1221,6 @@
|
|
|
1207
1221
|
"error"
|
|
1208
1222
|
]
|
|
1209
1223
|
},
|
|
1210
|
-
"422": {
|
|
1211
|
-
"$ref": "#/components/schemas/HTTPValidationError"
|
|
1212
|
-
},
|
|
1213
1224
|
"429": {
|
|
1214
1225
|
"type": "object",
|
|
1215
1226
|
"properties": {
|
|
@@ -1247,19 +1258,24 @@
|
|
|
1247
1258
|
}
|
|
1248
1259
|
},
|
|
1249
1260
|
{
|
|
1250
|
-
"name": "
|
|
1251
|
-
"description": "
|
|
1261
|
+
"name": "oidc_sign_in",
|
|
1262
|
+
"description": "Exchange an OIDC ID token and challenge_id for SPAPS tokens or an mfa_required challenge.",
|
|
1252
1263
|
"method": "POST",
|
|
1253
|
-
"path": "/api/
|
|
1264
|
+
"path": "/api/auth/oidc/sign-in",
|
|
1254
1265
|
"parameters": {
|
|
1255
|
-
"$ref": "#/components/schemas/
|
|
1266
|
+
"$ref": "#/components/schemas/OidcSignInRequest"
|
|
1256
1267
|
},
|
|
1257
|
-
"domain": "dayrate",
|
|
1258
|
-
"admin_required": false,
|
|
1259
|
-
"agent_callable": true,
|
|
1260
1268
|
"responses": {
|
|
1261
1269
|
"200": {
|
|
1262
|
-
"
|
|
1270
|
+
"anyOf": [
|
|
1271
|
+
{
|
|
1272
|
+
"$ref": "#/components/schemas/OidcSignInResponse"
|
|
1273
|
+
},
|
|
1274
|
+
{
|
|
1275
|
+
"$ref": "#/components/schemas/MfaRequiredResponse"
|
|
1276
|
+
}
|
|
1277
|
+
],
|
|
1278
|
+
"title": "Response Oidc Sign In Api Auth Oidc Sign In Post"
|
|
1263
1279
|
},
|
|
1264
1280
|
"400": {
|
|
1265
1281
|
"type": "object",
|
|
@@ -1360,20 +1376,16 @@
|
|
|
1360
1376
|
}
|
|
1361
1377
|
},
|
|
1362
1378
|
{
|
|
1363
|
-
"name": "
|
|
1364
|
-
"description": "
|
|
1365
|
-
"method": "
|
|
1366
|
-
"path": "/api/
|
|
1379
|
+
"name": "sms_request",
|
|
1380
|
+
"description": "Request an enumeration-safe SMS OTP challenge.",
|
|
1381
|
+
"method": "POST",
|
|
1382
|
+
"path": "/api/auth/sms/request",
|
|
1367
1383
|
"parameters": {
|
|
1368
|
-
"
|
|
1369
|
-
"properties": {}
|
|
1384
|
+
"$ref": "#/components/schemas/SmsOtpRequest"
|
|
1370
1385
|
},
|
|
1371
|
-
"domain": "dayrate",
|
|
1372
|
-
"admin_required": false,
|
|
1373
|
-
"agent_callable": true,
|
|
1374
1386
|
"responses": {
|
|
1375
1387
|
"200": {
|
|
1376
|
-
"$ref": "#/components/schemas/
|
|
1388
|
+
"$ref": "#/components/schemas/SmsOtpRequestResponse"
|
|
1377
1389
|
},
|
|
1378
1390
|
"400": {
|
|
1379
1391
|
"type": "object",
|
|
@@ -1474,20 +1486,24 @@
|
|
|
1474
1486
|
}
|
|
1475
1487
|
},
|
|
1476
1488
|
{
|
|
1477
|
-
"name": "
|
|
1478
|
-
"description": "
|
|
1479
|
-
"method": "
|
|
1480
|
-
"path": "/api/
|
|
1489
|
+
"name": "sms_verify",
|
|
1490
|
+
"description": "Verify an SMS OTP challenge for SPAPS tokens or an mfa_required challenge.",
|
|
1491
|
+
"method": "POST",
|
|
1492
|
+
"path": "/api/auth/sms/verify",
|
|
1481
1493
|
"parameters": {
|
|
1482
|
-
"
|
|
1483
|
-
"properties": {}
|
|
1494
|
+
"$ref": "#/components/schemas/SmsOtpVerifyRequest"
|
|
1484
1495
|
},
|
|
1485
|
-
"domain": "dayrate",
|
|
1486
|
-
"admin_required": true,
|
|
1487
|
-
"agent_callable": true,
|
|
1488
1496
|
"responses": {
|
|
1489
1497
|
"200": {
|
|
1490
|
-
"
|
|
1498
|
+
"anyOf": [
|
|
1499
|
+
{
|
|
1500
|
+
"$ref": "#/components/schemas/SmsSignInResponse"
|
|
1501
|
+
},
|
|
1502
|
+
{
|
|
1503
|
+
"$ref": "#/components/schemas/MfaRequiredResponse"
|
|
1504
|
+
}
|
|
1505
|
+
],
|
|
1506
|
+
"title": "Response Verify Sms Otp Api Auth Sms Verify Post"
|
|
1491
1507
|
},
|
|
1492
1508
|
"400": {
|
|
1493
1509
|
"type": "object",
|
|
@@ -1548,6 +1564,9 @@
|
|
|
1548
1564
|
"error"
|
|
1549
1565
|
]
|
|
1550
1566
|
},
|
|
1567
|
+
"422": {
|
|
1568
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
1569
|
+
},
|
|
1551
1570
|
"429": {
|
|
1552
1571
|
"type": "object",
|
|
1553
1572
|
"properties": {
|
|
@@ -1585,19 +1604,24 @@
|
|
|
1585
1604
|
}
|
|
1586
1605
|
},
|
|
1587
1606
|
{
|
|
1588
|
-
"name": "
|
|
1589
|
-
"description": "
|
|
1590
|
-
"method": "
|
|
1591
|
-
"path": "/api/
|
|
1607
|
+
"name": "webauthn_assertion_options",
|
|
1608
|
+
"description": "Request WebAuthn assertion options before navigator.credentials.get().",
|
|
1609
|
+
"method": "POST",
|
|
1610
|
+
"path": "/api/auth/webauthn/assertion/options",
|
|
1592
1611
|
"parameters": {
|
|
1593
|
-
"
|
|
1612
|
+
"anyOf": [
|
|
1613
|
+
{
|
|
1614
|
+
"$ref": "#/components/schemas/WebAuthnAssertionOptionsRequest"
|
|
1615
|
+
},
|
|
1616
|
+
{
|
|
1617
|
+
"type": "null"
|
|
1618
|
+
}
|
|
1619
|
+
],
|
|
1620
|
+
"title": "Body"
|
|
1594
1621
|
},
|
|
1595
|
-
"domain": "dayrate",
|
|
1596
|
-
"admin_required": true,
|
|
1597
|
-
"agent_callable": true,
|
|
1598
1622
|
"responses": {
|
|
1599
1623
|
"200": {
|
|
1600
|
-
"$ref": "#/components/schemas/
|
|
1624
|
+
"$ref": "#/components/schemas/WebAuthnAssertionOptionsResponse"
|
|
1601
1625
|
},
|
|
1602
1626
|
"400": {
|
|
1603
1627
|
"type": "object",
|
|
@@ -1698,20 +1722,24 @@
|
|
|
1698
1722
|
}
|
|
1699
1723
|
},
|
|
1700
1724
|
{
|
|
1701
|
-
"name": "
|
|
1702
|
-
"description": "
|
|
1703
|
-
"method": "
|
|
1704
|
-
"path": "/api/
|
|
1725
|
+
"name": "webauthn_assertion_verify",
|
|
1726
|
+
"description": "Verify a browser WebAuthn assertion for SPAPS tokens or an mfa_required challenge.",
|
|
1727
|
+
"method": "POST",
|
|
1728
|
+
"path": "/api/auth/webauthn/assertion/verify",
|
|
1705
1729
|
"parameters": {
|
|
1706
|
-
"
|
|
1707
|
-
"properties": {}
|
|
1730
|
+
"$ref": "#/components/schemas/WebAuthnAssertionVerifyRequest"
|
|
1708
1731
|
},
|
|
1709
|
-
"domain": "dayrate",
|
|
1710
|
-
"admin_required": true,
|
|
1711
|
-
"agent_callable": true,
|
|
1712
1732
|
"responses": {
|
|
1713
1733
|
"200": {
|
|
1714
|
-
"
|
|
1734
|
+
"anyOf": [
|
|
1735
|
+
{
|
|
1736
|
+
"$ref": "#/components/schemas/WebAuthnAssertionVerifyResponse"
|
|
1737
|
+
},
|
|
1738
|
+
{
|
|
1739
|
+
"$ref": "#/components/schemas/MfaRequiredResponse"
|
|
1740
|
+
}
|
|
1741
|
+
],
|
|
1742
|
+
"title": "Response Webauthn Assertion Verify Api Auth Webauthn Assertion Verify Post"
|
|
1715
1743
|
},
|
|
1716
1744
|
"400": {
|
|
1717
1745
|
"type": "object",
|
|
@@ -1812,20 +1840,17 @@
|
|
|
1812
1840
|
}
|
|
1813
1841
|
},
|
|
1814
1842
|
{
|
|
1815
|
-
"name": "
|
|
1816
|
-
"description": "
|
|
1817
|
-
"method": "
|
|
1818
|
-
"path": "/api/
|
|
1843
|
+
"name": "webauthn_register_options",
|
|
1844
|
+
"description": "Request WebAuthn passkey registration options for an authenticated user.",
|
|
1845
|
+
"method": "POST",
|
|
1846
|
+
"path": "/api/auth/webauthn/register/options",
|
|
1819
1847
|
"parameters": {
|
|
1820
1848
|
"type": "object",
|
|
1821
1849
|
"properties": {}
|
|
1822
1850
|
},
|
|
1823
|
-
"domain": "dayrate",
|
|
1824
|
-
"admin_required": true,
|
|
1825
|
-
"agent_callable": true,
|
|
1826
1851
|
"responses": {
|
|
1827
1852
|
"200": {
|
|
1828
|
-
"$ref": "#/components/schemas/
|
|
1853
|
+
"$ref": "#/components/schemas/WebAuthnRegistrationOptionsResponse"
|
|
1829
1854
|
},
|
|
1830
1855
|
"400": {
|
|
1831
1856
|
"type": "object",
|
|
@@ -1923,19 +1948,16 @@
|
|
|
1923
1948
|
}
|
|
1924
1949
|
},
|
|
1925
1950
|
{
|
|
1926
|
-
"name": "
|
|
1927
|
-
"description": "
|
|
1951
|
+
"name": "webauthn_register_verify",
|
|
1952
|
+
"description": "Verify browser WebAuthn registration output for an authenticated user.",
|
|
1928
1953
|
"method": "POST",
|
|
1929
|
-
"path": "/api/
|
|
1954
|
+
"path": "/api/auth/webauthn/register/verify",
|
|
1930
1955
|
"parameters": {
|
|
1931
|
-
"$ref": "#/components/schemas/
|
|
1956
|
+
"$ref": "#/components/schemas/WebAuthnRegisterVerifyRequest"
|
|
1932
1957
|
},
|
|
1933
|
-
"domain": "dayrate",
|
|
1934
|
-
"admin_required": true,
|
|
1935
|
-
"agent_callable": true,
|
|
1936
1958
|
"responses": {
|
|
1937
|
-
"
|
|
1938
|
-
"$ref": "#/components/schemas/
|
|
1959
|
+
"200": {
|
|
1960
|
+
"$ref": "#/components/schemas/WebAuthnRegisterVerifyResponse"
|
|
1939
1961
|
},
|
|
1940
1962
|
"400": {
|
|
1941
1963
|
"type": "object",
|
|
@@ -2036,19 +2058,16 @@
|
|
|
2036
2058
|
}
|
|
2037
2059
|
},
|
|
2038
2060
|
{
|
|
2039
|
-
"name": "
|
|
2040
|
-
"description": "
|
|
2041
|
-
"method": "
|
|
2042
|
-
"path": "/api/
|
|
2061
|
+
"name": "mfa_verify",
|
|
2062
|
+
"description": "Complete an mfa_required challenge with a TOTP code or recovery code.",
|
|
2063
|
+
"method": "POST",
|
|
2064
|
+
"path": "/api/auth/mfa/verify",
|
|
2043
2065
|
"parameters": {
|
|
2044
|
-
"$ref": "#/components/schemas/
|
|
2066
|
+
"$ref": "#/components/schemas/MfaVerifyRequest"
|
|
2045
2067
|
},
|
|
2046
|
-
"domain": "dayrate",
|
|
2047
|
-
"admin_required": true,
|
|
2048
|
-
"agent_callable": true,
|
|
2049
2068
|
"responses": {
|
|
2050
2069
|
"200": {
|
|
2051
|
-
"$ref": "#/components/schemas/
|
|
2070
|
+
"$ref": "#/components/schemas/MfaVerifyResponse"
|
|
2052
2071
|
},
|
|
2053
2072
|
"400": {
|
|
2054
2073
|
"type": "object",
|
|
@@ -2149,20 +2168,17 @@
|
|
|
2149
2168
|
}
|
|
2150
2169
|
},
|
|
2151
2170
|
{
|
|
2152
|
-
"name": "
|
|
2153
|
-
"description": "
|
|
2154
|
-
"method": "
|
|
2155
|
-
"path": "/api/
|
|
2171
|
+
"name": "mfa_totp_enroll",
|
|
2172
|
+
"description": "Enroll TOTP MFA for an authenticated user.",
|
|
2173
|
+
"method": "POST",
|
|
2174
|
+
"path": "/api/auth/mfa/totp/enroll",
|
|
2156
2175
|
"parameters": {
|
|
2157
2176
|
"type": "object",
|
|
2158
2177
|
"properties": {}
|
|
2159
2178
|
},
|
|
2160
|
-
"domain": "dayrate",
|
|
2161
|
-
"admin_required": true,
|
|
2162
|
-
"agent_callable": true,
|
|
2163
2179
|
"responses": {
|
|
2164
2180
|
"200": {
|
|
2165
|
-
"$ref": "#/components/schemas/
|
|
2181
|
+
"$ref": "#/components/schemas/MfaTotpEnrollResponse"
|
|
2166
2182
|
},
|
|
2167
2183
|
"400": {
|
|
2168
2184
|
"type": "object",
|
|
@@ -2223,9 +2239,6 @@
|
|
|
2223
2239
|
"error"
|
|
2224
2240
|
]
|
|
2225
2241
|
},
|
|
2226
|
-
"422": {
|
|
2227
|
-
"$ref": "#/components/schemas/HTTPValidationError"
|
|
2228
|
-
},
|
|
2229
2242
|
"429": {
|
|
2230
2243
|
"type": "object",
|
|
2231
2244
|
"properties": {
|
|
@@ -2263,19 +2276,16 @@
|
|
|
2263
2276
|
}
|
|
2264
2277
|
},
|
|
2265
2278
|
{
|
|
2266
|
-
"name": "
|
|
2267
|
-
"description": "
|
|
2279
|
+
"name": "mfa_totp_activate",
|
|
2280
|
+
"description": "Activate pending TOTP MFA enrollment with a current code.",
|
|
2268
2281
|
"method": "POST",
|
|
2269
|
-
"path": "/api/
|
|
2282
|
+
"path": "/api/auth/mfa/totp/activate",
|
|
2270
2283
|
"parameters": {
|
|
2271
|
-
"$ref": "#/components/schemas/
|
|
2284
|
+
"$ref": "#/components/schemas/MfaTotpActivateRequest"
|
|
2272
2285
|
},
|
|
2273
|
-
"domain": "email",
|
|
2274
|
-
"admin_required": false,
|
|
2275
|
-
"agent_callable": true,
|
|
2276
2286
|
"responses": {
|
|
2277
2287
|
"200": {
|
|
2278
|
-
"$ref": "#/components/schemas/
|
|
2288
|
+
"$ref": "#/components/schemas/MfaTotpActivateResponse"
|
|
2279
2289
|
},
|
|
2280
2290
|
"400": {
|
|
2281
2291
|
"type": "object",
|
|
@@ -2376,13 +2386,1927 @@
|
|
|
2376
2386
|
}
|
|
2377
2387
|
},
|
|
2378
2388
|
{
|
|
2379
|
-
"name": "
|
|
2380
|
-
"description": "
|
|
2381
|
-
"method": "
|
|
2382
|
-
"path": "/api/
|
|
2389
|
+
"name": "mfa_totp_disable",
|
|
2390
|
+
"description": "Disable TOTP MFA for an authenticated user with a current code.",
|
|
2391
|
+
"method": "POST",
|
|
2392
|
+
"path": "/api/auth/mfa/totp/disable",
|
|
2393
|
+
"parameters": {
|
|
2394
|
+
"$ref": "#/components/schemas/MfaTotpDisableRequest"
|
|
2395
|
+
},
|
|
2396
|
+
"responses": {
|
|
2397
|
+
"200": {
|
|
2398
|
+
"$ref": "#/components/schemas/MfaTotpDisableResponse"
|
|
2399
|
+
},
|
|
2400
|
+
"400": {
|
|
2401
|
+
"type": "object",
|
|
2402
|
+
"properties": {
|
|
2403
|
+
"success": {
|
|
2404
|
+
"type": "boolean"
|
|
2405
|
+
},
|
|
2406
|
+
"error": {
|
|
2407
|
+
"type": "object",
|
|
2408
|
+
"properties": {
|
|
2409
|
+
"code": {
|
|
2410
|
+
"type": "string"
|
|
2411
|
+
},
|
|
2412
|
+
"message": {
|
|
2413
|
+
"type": "string"
|
|
2414
|
+
}
|
|
2415
|
+
},
|
|
2416
|
+
"required": [
|
|
2417
|
+
"message"
|
|
2418
|
+
]
|
|
2419
|
+
}
|
|
2420
|
+
},
|
|
2421
|
+
"required": [
|
|
2422
|
+
"error"
|
|
2423
|
+
]
|
|
2424
|
+
},
|
|
2425
|
+
"401": {
|
|
2426
|
+
"type": "object",
|
|
2427
|
+
"properties": {
|
|
2428
|
+
"error": {
|
|
2429
|
+
"type": "string",
|
|
2430
|
+
"enum": [
|
|
2431
|
+
"unauthorized"
|
|
2432
|
+
]
|
|
2433
|
+
},
|
|
2434
|
+
"message": {
|
|
2435
|
+
"type": "string"
|
|
2436
|
+
}
|
|
2437
|
+
},
|
|
2438
|
+
"required": [
|
|
2439
|
+
"error"
|
|
2440
|
+
]
|
|
2441
|
+
},
|
|
2442
|
+
"403": {
|
|
2443
|
+
"type": "object",
|
|
2444
|
+
"properties": {
|
|
2445
|
+
"error": {
|
|
2446
|
+
"type": "string",
|
|
2447
|
+
"enum": [
|
|
2448
|
+
"forbidden"
|
|
2449
|
+
]
|
|
2450
|
+
},
|
|
2451
|
+
"message": {
|
|
2452
|
+
"type": "string"
|
|
2453
|
+
}
|
|
2454
|
+
},
|
|
2455
|
+
"required": [
|
|
2456
|
+
"error"
|
|
2457
|
+
]
|
|
2458
|
+
},
|
|
2459
|
+
"422": {
|
|
2460
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
2461
|
+
},
|
|
2462
|
+
"429": {
|
|
2463
|
+
"type": "object",
|
|
2464
|
+
"properties": {
|
|
2465
|
+
"error": {
|
|
2466
|
+
"type": "string",
|
|
2467
|
+
"enum": [
|
|
2468
|
+
"rate_limited"
|
|
2469
|
+
]
|
|
2470
|
+
},
|
|
2471
|
+
"message": {
|
|
2472
|
+
"type": "string"
|
|
2473
|
+
}
|
|
2474
|
+
},
|
|
2475
|
+
"required": [
|
|
2476
|
+
"error"
|
|
2477
|
+
]
|
|
2478
|
+
},
|
|
2479
|
+
"500": {
|
|
2480
|
+
"type": "object",
|
|
2481
|
+
"properties": {
|
|
2482
|
+
"error": {
|
|
2483
|
+
"type": "string",
|
|
2484
|
+
"enum": [
|
|
2485
|
+
"server_error"
|
|
2486
|
+
]
|
|
2487
|
+
},
|
|
2488
|
+
"message": {
|
|
2489
|
+
"type": "string"
|
|
2490
|
+
}
|
|
2491
|
+
},
|
|
2492
|
+
"required": [
|
|
2493
|
+
"error"
|
|
2494
|
+
]
|
|
2495
|
+
}
|
|
2496
|
+
}
|
|
2497
|
+
},
|
|
2498
|
+
{
|
|
2499
|
+
"name": "dayrate_availability",
|
|
2500
|
+
"description": "List bookable slots within the configured horizon with dynamic pricing.",
|
|
2501
|
+
"method": "GET",
|
|
2502
|
+
"path": "/api/dayrate/availability",
|
|
2503
|
+
"parameters": {
|
|
2504
|
+
"type": "object",
|
|
2505
|
+
"properties": {}
|
|
2506
|
+
},
|
|
2507
|
+
"domain": "dayrate",
|
|
2508
|
+
"admin_required": false,
|
|
2509
|
+
"agent_callable": true,
|
|
2510
|
+
"responses": {
|
|
2511
|
+
"200": {
|
|
2512
|
+
"$ref": "#/components/schemas/AvailabilityResponse"
|
|
2513
|
+
},
|
|
2514
|
+
"400": {
|
|
2515
|
+
"type": "object",
|
|
2516
|
+
"properties": {
|
|
2517
|
+
"success": {
|
|
2518
|
+
"type": "boolean"
|
|
2519
|
+
},
|
|
2520
|
+
"error": {
|
|
2521
|
+
"type": "object",
|
|
2522
|
+
"properties": {
|
|
2523
|
+
"code": {
|
|
2524
|
+
"type": "string"
|
|
2525
|
+
},
|
|
2526
|
+
"message": {
|
|
2527
|
+
"type": "string"
|
|
2528
|
+
}
|
|
2529
|
+
},
|
|
2530
|
+
"required": [
|
|
2531
|
+
"message"
|
|
2532
|
+
]
|
|
2533
|
+
}
|
|
2534
|
+
},
|
|
2535
|
+
"required": [
|
|
2536
|
+
"error"
|
|
2537
|
+
]
|
|
2538
|
+
},
|
|
2539
|
+
"401": {
|
|
2540
|
+
"type": "object",
|
|
2541
|
+
"properties": {
|
|
2542
|
+
"error": {
|
|
2543
|
+
"type": "string",
|
|
2544
|
+
"enum": [
|
|
2545
|
+
"unauthorized"
|
|
2546
|
+
]
|
|
2547
|
+
},
|
|
2548
|
+
"message": {
|
|
2549
|
+
"type": "string"
|
|
2550
|
+
}
|
|
2551
|
+
},
|
|
2552
|
+
"required": [
|
|
2553
|
+
"error"
|
|
2554
|
+
]
|
|
2555
|
+
},
|
|
2556
|
+
"403": {
|
|
2557
|
+
"type": "object",
|
|
2558
|
+
"properties": {
|
|
2559
|
+
"error": {
|
|
2560
|
+
"type": "string",
|
|
2561
|
+
"enum": [
|
|
2562
|
+
"forbidden"
|
|
2563
|
+
]
|
|
2564
|
+
},
|
|
2565
|
+
"message": {
|
|
2566
|
+
"type": "string"
|
|
2567
|
+
}
|
|
2568
|
+
},
|
|
2569
|
+
"required": [
|
|
2570
|
+
"error"
|
|
2571
|
+
]
|
|
2572
|
+
},
|
|
2573
|
+
"429": {
|
|
2574
|
+
"type": "object",
|
|
2575
|
+
"properties": {
|
|
2576
|
+
"error": {
|
|
2577
|
+
"type": "string",
|
|
2578
|
+
"enum": [
|
|
2579
|
+
"rate_limited"
|
|
2580
|
+
]
|
|
2581
|
+
},
|
|
2582
|
+
"message": {
|
|
2583
|
+
"type": "string"
|
|
2584
|
+
}
|
|
2585
|
+
},
|
|
2586
|
+
"required": [
|
|
2587
|
+
"error"
|
|
2588
|
+
]
|
|
2589
|
+
},
|
|
2590
|
+
"500": {
|
|
2591
|
+
"type": "object",
|
|
2592
|
+
"properties": {
|
|
2593
|
+
"error": {
|
|
2594
|
+
"type": "string",
|
|
2595
|
+
"enum": [
|
|
2596
|
+
"server_error"
|
|
2597
|
+
]
|
|
2598
|
+
},
|
|
2599
|
+
"message": {
|
|
2600
|
+
"type": "string"
|
|
2601
|
+
}
|
|
2602
|
+
},
|
|
2603
|
+
"required": [
|
|
2604
|
+
"error"
|
|
2605
|
+
]
|
|
2606
|
+
}
|
|
2607
|
+
}
|
|
2608
|
+
},
|
|
2609
|
+
{
|
|
2610
|
+
"name": "dayrate_book",
|
|
2611
|
+
"description": "Book a single slot. Returns FreeBookResponse when an entitled user has remaining allotment, otherwise a Stripe Checkout URL.",
|
|
2612
|
+
"method": "POST",
|
|
2613
|
+
"path": "/api/dayrate/book",
|
|
2614
|
+
"parameters": {
|
|
2615
|
+
"$ref": "#/components/schemas/BookRequest"
|
|
2616
|
+
},
|
|
2617
|
+
"domain": "dayrate",
|
|
2618
|
+
"admin_required": false,
|
|
2619
|
+
"agent_callable": true,
|
|
2620
|
+
"responses": {
|
|
2621
|
+
"200": {},
|
|
2622
|
+
"400": {
|
|
2623
|
+
"type": "object",
|
|
2624
|
+
"properties": {
|
|
2625
|
+
"success": {
|
|
2626
|
+
"type": "boolean"
|
|
2627
|
+
},
|
|
2628
|
+
"error": {
|
|
2629
|
+
"type": "object",
|
|
2630
|
+
"properties": {
|
|
2631
|
+
"code": {
|
|
2632
|
+
"type": "string"
|
|
2633
|
+
},
|
|
2634
|
+
"message": {
|
|
2635
|
+
"type": "string"
|
|
2636
|
+
}
|
|
2637
|
+
},
|
|
2638
|
+
"required": [
|
|
2639
|
+
"message"
|
|
2640
|
+
]
|
|
2641
|
+
}
|
|
2642
|
+
},
|
|
2643
|
+
"required": [
|
|
2644
|
+
"error"
|
|
2645
|
+
]
|
|
2646
|
+
},
|
|
2647
|
+
"401": {
|
|
2648
|
+
"type": "object",
|
|
2649
|
+
"properties": {
|
|
2650
|
+
"error": {
|
|
2651
|
+
"type": "string",
|
|
2652
|
+
"enum": [
|
|
2653
|
+
"unauthorized"
|
|
2654
|
+
]
|
|
2655
|
+
},
|
|
2656
|
+
"message": {
|
|
2657
|
+
"type": "string"
|
|
2658
|
+
}
|
|
2659
|
+
},
|
|
2660
|
+
"required": [
|
|
2661
|
+
"error"
|
|
2662
|
+
]
|
|
2663
|
+
},
|
|
2664
|
+
"403": {
|
|
2665
|
+
"type": "object",
|
|
2666
|
+
"properties": {
|
|
2667
|
+
"error": {
|
|
2668
|
+
"type": "string",
|
|
2669
|
+
"enum": [
|
|
2670
|
+
"forbidden"
|
|
2671
|
+
]
|
|
2672
|
+
},
|
|
2673
|
+
"message": {
|
|
2674
|
+
"type": "string"
|
|
2675
|
+
}
|
|
2676
|
+
},
|
|
2677
|
+
"required": [
|
|
2678
|
+
"error"
|
|
2679
|
+
]
|
|
2680
|
+
},
|
|
2681
|
+
"422": {
|
|
2682
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
2683
|
+
},
|
|
2684
|
+
"429": {
|
|
2685
|
+
"type": "object",
|
|
2686
|
+
"properties": {
|
|
2687
|
+
"error": {
|
|
2688
|
+
"type": "string",
|
|
2689
|
+
"enum": [
|
|
2690
|
+
"rate_limited"
|
|
2691
|
+
]
|
|
2692
|
+
},
|
|
2693
|
+
"message": {
|
|
2694
|
+
"type": "string"
|
|
2695
|
+
}
|
|
2696
|
+
},
|
|
2697
|
+
"required": [
|
|
2698
|
+
"error"
|
|
2699
|
+
]
|
|
2700
|
+
},
|
|
2701
|
+
"500": {
|
|
2702
|
+
"type": "object",
|
|
2703
|
+
"properties": {
|
|
2704
|
+
"error": {
|
|
2705
|
+
"type": "string",
|
|
2706
|
+
"enum": [
|
|
2707
|
+
"server_error"
|
|
2708
|
+
]
|
|
2709
|
+
},
|
|
2710
|
+
"message": {
|
|
2711
|
+
"type": "string"
|
|
2712
|
+
}
|
|
2713
|
+
},
|
|
2714
|
+
"required": [
|
|
2715
|
+
"error"
|
|
2716
|
+
]
|
|
2717
|
+
}
|
|
2718
|
+
}
|
|
2719
|
+
},
|
|
2720
|
+
{
|
|
2721
|
+
"name": "dayrate_book_multi",
|
|
2722
|
+
"description": "Book multiple slots in one Stripe session with running fill-rate pricing.",
|
|
2723
|
+
"method": "POST",
|
|
2724
|
+
"path": "/api/dayrate/book-multi",
|
|
2725
|
+
"parameters": {
|
|
2726
|
+
"$ref": "#/components/schemas/BookMultiRequest"
|
|
2727
|
+
},
|
|
2728
|
+
"domain": "dayrate",
|
|
2729
|
+
"admin_required": false,
|
|
2730
|
+
"agent_callable": true,
|
|
2731
|
+
"responses": {
|
|
2732
|
+
"200": {
|
|
2733
|
+
"$ref": "#/components/schemas/BookMultiResponse"
|
|
2734
|
+
},
|
|
2735
|
+
"400": {
|
|
2736
|
+
"type": "object",
|
|
2737
|
+
"properties": {
|
|
2738
|
+
"success": {
|
|
2739
|
+
"type": "boolean"
|
|
2740
|
+
},
|
|
2741
|
+
"error": {
|
|
2742
|
+
"type": "object",
|
|
2743
|
+
"properties": {
|
|
2744
|
+
"code": {
|
|
2745
|
+
"type": "string"
|
|
2746
|
+
},
|
|
2747
|
+
"message": {
|
|
2748
|
+
"type": "string"
|
|
2749
|
+
}
|
|
2750
|
+
},
|
|
2751
|
+
"required": [
|
|
2752
|
+
"message"
|
|
2753
|
+
]
|
|
2754
|
+
}
|
|
2755
|
+
},
|
|
2756
|
+
"required": [
|
|
2757
|
+
"error"
|
|
2758
|
+
]
|
|
2759
|
+
},
|
|
2760
|
+
"401": {
|
|
2761
|
+
"type": "object",
|
|
2762
|
+
"properties": {
|
|
2763
|
+
"error": {
|
|
2764
|
+
"type": "string",
|
|
2765
|
+
"enum": [
|
|
2766
|
+
"unauthorized"
|
|
2767
|
+
]
|
|
2768
|
+
},
|
|
2769
|
+
"message": {
|
|
2770
|
+
"type": "string"
|
|
2771
|
+
}
|
|
2772
|
+
},
|
|
2773
|
+
"required": [
|
|
2774
|
+
"error"
|
|
2775
|
+
]
|
|
2776
|
+
},
|
|
2777
|
+
"403": {
|
|
2778
|
+
"type": "object",
|
|
2779
|
+
"properties": {
|
|
2780
|
+
"error": {
|
|
2781
|
+
"type": "string",
|
|
2782
|
+
"enum": [
|
|
2783
|
+
"forbidden"
|
|
2784
|
+
]
|
|
2785
|
+
},
|
|
2786
|
+
"message": {
|
|
2787
|
+
"type": "string"
|
|
2788
|
+
}
|
|
2789
|
+
},
|
|
2790
|
+
"required": [
|
|
2791
|
+
"error"
|
|
2792
|
+
]
|
|
2793
|
+
},
|
|
2794
|
+
"422": {
|
|
2795
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
2796
|
+
},
|
|
2797
|
+
"429": {
|
|
2798
|
+
"type": "object",
|
|
2799
|
+
"properties": {
|
|
2800
|
+
"error": {
|
|
2801
|
+
"type": "string",
|
|
2802
|
+
"enum": [
|
|
2803
|
+
"rate_limited"
|
|
2804
|
+
]
|
|
2805
|
+
},
|
|
2806
|
+
"message": {
|
|
2807
|
+
"type": "string"
|
|
2808
|
+
}
|
|
2809
|
+
},
|
|
2810
|
+
"required": [
|
|
2811
|
+
"error"
|
|
2812
|
+
]
|
|
2813
|
+
},
|
|
2814
|
+
"500": {
|
|
2815
|
+
"type": "object",
|
|
2816
|
+
"properties": {
|
|
2817
|
+
"error": {
|
|
2818
|
+
"type": "string",
|
|
2819
|
+
"enum": [
|
|
2820
|
+
"server_error"
|
|
2821
|
+
]
|
|
2822
|
+
},
|
|
2823
|
+
"message": {
|
|
2824
|
+
"type": "string"
|
|
2825
|
+
}
|
|
2826
|
+
},
|
|
2827
|
+
"required": [
|
|
2828
|
+
"error"
|
|
2829
|
+
]
|
|
2830
|
+
}
|
|
2831
|
+
}
|
|
2832
|
+
},
|
|
2833
|
+
{
|
|
2834
|
+
"name": "dayrate_checkout_status",
|
|
2835
|
+
"description": "Poll a Stripe session to learn the resulting booking status.",
|
|
2836
|
+
"method": "GET",
|
|
2837
|
+
"path": "/api/dayrate/checkout-status",
|
|
2838
|
+
"parameters": {
|
|
2839
|
+
"type": "object",
|
|
2840
|
+
"properties": {}
|
|
2841
|
+
},
|
|
2842
|
+
"domain": "dayrate",
|
|
2843
|
+
"admin_required": false,
|
|
2844
|
+
"agent_callable": true,
|
|
2845
|
+
"responses": {
|
|
2846
|
+
"200": {
|
|
2847
|
+
"$ref": "#/components/schemas/CheckoutStatusResponse"
|
|
2848
|
+
},
|
|
2849
|
+
"400": {
|
|
2850
|
+
"type": "object",
|
|
2851
|
+
"properties": {
|
|
2852
|
+
"success": {
|
|
2853
|
+
"type": "boolean"
|
|
2854
|
+
},
|
|
2855
|
+
"error": {
|
|
2856
|
+
"type": "object",
|
|
2857
|
+
"properties": {
|
|
2858
|
+
"code": {
|
|
2859
|
+
"type": "string"
|
|
2860
|
+
},
|
|
2861
|
+
"message": {
|
|
2862
|
+
"type": "string"
|
|
2863
|
+
}
|
|
2864
|
+
},
|
|
2865
|
+
"required": [
|
|
2866
|
+
"message"
|
|
2867
|
+
]
|
|
2868
|
+
}
|
|
2869
|
+
},
|
|
2870
|
+
"required": [
|
|
2871
|
+
"error"
|
|
2872
|
+
]
|
|
2873
|
+
},
|
|
2874
|
+
"401": {
|
|
2875
|
+
"type": "object",
|
|
2876
|
+
"properties": {
|
|
2877
|
+
"error": {
|
|
2878
|
+
"type": "string",
|
|
2879
|
+
"enum": [
|
|
2880
|
+
"unauthorized"
|
|
2881
|
+
]
|
|
2882
|
+
},
|
|
2883
|
+
"message": {
|
|
2884
|
+
"type": "string"
|
|
2885
|
+
}
|
|
2886
|
+
},
|
|
2887
|
+
"required": [
|
|
2888
|
+
"error"
|
|
2889
|
+
]
|
|
2890
|
+
},
|
|
2891
|
+
"403": {
|
|
2892
|
+
"type": "object",
|
|
2893
|
+
"properties": {
|
|
2894
|
+
"error": {
|
|
2895
|
+
"type": "string",
|
|
2896
|
+
"enum": [
|
|
2897
|
+
"forbidden"
|
|
2898
|
+
]
|
|
2899
|
+
},
|
|
2900
|
+
"message": {
|
|
2901
|
+
"type": "string"
|
|
2902
|
+
}
|
|
2903
|
+
},
|
|
2904
|
+
"required": [
|
|
2905
|
+
"error"
|
|
2906
|
+
]
|
|
2907
|
+
},
|
|
2908
|
+
"422": {
|
|
2909
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
2910
|
+
},
|
|
2911
|
+
"429": {
|
|
2912
|
+
"type": "object",
|
|
2913
|
+
"properties": {
|
|
2914
|
+
"error": {
|
|
2915
|
+
"type": "string",
|
|
2916
|
+
"enum": [
|
|
2917
|
+
"rate_limited"
|
|
2918
|
+
]
|
|
2919
|
+
},
|
|
2920
|
+
"message": {
|
|
2921
|
+
"type": "string"
|
|
2922
|
+
}
|
|
2923
|
+
},
|
|
2924
|
+
"required": [
|
|
2925
|
+
"error"
|
|
2926
|
+
]
|
|
2927
|
+
},
|
|
2928
|
+
"500": {
|
|
2929
|
+
"type": "object",
|
|
2930
|
+
"properties": {
|
|
2931
|
+
"error": {
|
|
2932
|
+
"type": "string",
|
|
2933
|
+
"enum": [
|
|
2934
|
+
"server_error"
|
|
2935
|
+
]
|
|
2936
|
+
},
|
|
2937
|
+
"message": {
|
|
2938
|
+
"type": "string"
|
|
2939
|
+
}
|
|
2940
|
+
},
|
|
2941
|
+
"required": [
|
|
2942
|
+
"error"
|
|
2943
|
+
]
|
|
2944
|
+
}
|
|
2945
|
+
}
|
|
2946
|
+
},
|
|
2947
|
+
{
|
|
2948
|
+
"name": "dayrate_cancel",
|
|
2949
|
+
"description": "Cancel an existing booking. Owner verified by user_id then email.",
|
|
2950
|
+
"method": "POST",
|
|
2951
|
+
"path": "/api/dayrate/cancel",
|
|
2952
|
+
"parameters": {
|
|
2953
|
+
"$ref": "#/components/schemas/CancelRequest"
|
|
2954
|
+
},
|
|
2955
|
+
"domain": "dayrate",
|
|
2956
|
+
"admin_required": false,
|
|
2957
|
+
"agent_callable": true,
|
|
2958
|
+
"responses": {
|
|
2959
|
+
"200": {
|
|
2960
|
+
"$ref": "#/components/schemas/CancelResponse"
|
|
2961
|
+
},
|
|
2962
|
+
"400": {
|
|
2963
|
+
"type": "object",
|
|
2964
|
+
"properties": {
|
|
2965
|
+
"success": {
|
|
2966
|
+
"type": "boolean"
|
|
2967
|
+
},
|
|
2968
|
+
"error": {
|
|
2969
|
+
"type": "object",
|
|
2970
|
+
"properties": {
|
|
2971
|
+
"code": {
|
|
2972
|
+
"type": "string"
|
|
2973
|
+
},
|
|
2974
|
+
"message": {
|
|
2975
|
+
"type": "string"
|
|
2976
|
+
}
|
|
2977
|
+
},
|
|
2978
|
+
"required": [
|
|
2979
|
+
"message"
|
|
2980
|
+
]
|
|
2981
|
+
}
|
|
2982
|
+
},
|
|
2983
|
+
"required": [
|
|
2984
|
+
"error"
|
|
2985
|
+
]
|
|
2986
|
+
},
|
|
2987
|
+
"401": {
|
|
2988
|
+
"type": "object",
|
|
2989
|
+
"properties": {
|
|
2990
|
+
"error": {
|
|
2991
|
+
"type": "string",
|
|
2992
|
+
"enum": [
|
|
2993
|
+
"unauthorized"
|
|
2994
|
+
]
|
|
2995
|
+
},
|
|
2996
|
+
"message": {
|
|
2997
|
+
"type": "string"
|
|
2998
|
+
}
|
|
2999
|
+
},
|
|
3000
|
+
"required": [
|
|
3001
|
+
"error"
|
|
3002
|
+
]
|
|
3003
|
+
},
|
|
3004
|
+
"403": {
|
|
3005
|
+
"type": "object",
|
|
3006
|
+
"properties": {
|
|
3007
|
+
"error": {
|
|
3008
|
+
"type": "string",
|
|
3009
|
+
"enum": [
|
|
3010
|
+
"forbidden"
|
|
3011
|
+
]
|
|
3012
|
+
},
|
|
3013
|
+
"message": {
|
|
3014
|
+
"type": "string"
|
|
3015
|
+
}
|
|
3016
|
+
},
|
|
3017
|
+
"required": [
|
|
3018
|
+
"error"
|
|
3019
|
+
]
|
|
3020
|
+
},
|
|
3021
|
+
"422": {
|
|
3022
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
3023
|
+
},
|
|
3024
|
+
"429": {
|
|
3025
|
+
"type": "object",
|
|
3026
|
+
"properties": {
|
|
3027
|
+
"error": {
|
|
3028
|
+
"type": "string",
|
|
3029
|
+
"enum": [
|
|
3030
|
+
"rate_limited"
|
|
3031
|
+
]
|
|
3032
|
+
},
|
|
3033
|
+
"message": {
|
|
3034
|
+
"type": "string"
|
|
3035
|
+
}
|
|
3036
|
+
},
|
|
3037
|
+
"required": [
|
|
3038
|
+
"error"
|
|
3039
|
+
]
|
|
3040
|
+
},
|
|
3041
|
+
"500": {
|
|
3042
|
+
"type": "object",
|
|
3043
|
+
"properties": {
|
|
3044
|
+
"error": {
|
|
3045
|
+
"type": "string",
|
|
3046
|
+
"enum": [
|
|
3047
|
+
"server_error"
|
|
3048
|
+
]
|
|
3049
|
+
},
|
|
3050
|
+
"message": {
|
|
3051
|
+
"type": "string"
|
|
3052
|
+
}
|
|
3053
|
+
},
|
|
3054
|
+
"required": [
|
|
3055
|
+
"error"
|
|
3056
|
+
]
|
|
3057
|
+
}
|
|
3058
|
+
}
|
|
3059
|
+
},
|
|
3060
|
+
{
|
|
3061
|
+
"name": "dayrate_allotment",
|
|
3062
|
+
"description": "Inspect free allotment status for a policy in the rolling window.",
|
|
3063
|
+
"method": "GET",
|
|
3064
|
+
"path": "/api/dayrate/allotment",
|
|
3065
|
+
"parameters": {
|
|
3066
|
+
"type": "object",
|
|
3067
|
+
"properties": {}
|
|
3068
|
+
},
|
|
3069
|
+
"domain": "dayrate",
|
|
3070
|
+
"admin_required": false,
|
|
3071
|
+
"agent_callable": true,
|
|
3072
|
+
"responses": {
|
|
3073
|
+
"200": {
|
|
3074
|
+
"$ref": "#/components/schemas/AllotmentResponse"
|
|
3075
|
+
},
|
|
3076
|
+
"400": {
|
|
3077
|
+
"type": "object",
|
|
3078
|
+
"properties": {
|
|
3079
|
+
"success": {
|
|
3080
|
+
"type": "boolean"
|
|
3081
|
+
},
|
|
3082
|
+
"error": {
|
|
3083
|
+
"type": "object",
|
|
3084
|
+
"properties": {
|
|
3085
|
+
"code": {
|
|
3086
|
+
"type": "string"
|
|
3087
|
+
},
|
|
3088
|
+
"message": {
|
|
3089
|
+
"type": "string"
|
|
3090
|
+
}
|
|
3091
|
+
},
|
|
3092
|
+
"required": [
|
|
3093
|
+
"message"
|
|
3094
|
+
]
|
|
3095
|
+
}
|
|
3096
|
+
},
|
|
3097
|
+
"required": [
|
|
3098
|
+
"error"
|
|
3099
|
+
]
|
|
3100
|
+
},
|
|
3101
|
+
"401": {
|
|
3102
|
+
"type": "object",
|
|
3103
|
+
"properties": {
|
|
3104
|
+
"error": {
|
|
3105
|
+
"type": "string",
|
|
3106
|
+
"enum": [
|
|
3107
|
+
"unauthorized"
|
|
3108
|
+
]
|
|
3109
|
+
},
|
|
3110
|
+
"message": {
|
|
3111
|
+
"type": "string"
|
|
3112
|
+
}
|
|
3113
|
+
},
|
|
3114
|
+
"required": [
|
|
3115
|
+
"error"
|
|
3116
|
+
]
|
|
3117
|
+
},
|
|
3118
|
+
"403": {
|
|
3119
|
+
"type": "object",
|
|
3120
|
+
"properties": {
|
|
3121
|
+
"error": {
|
|
3122
|
+
"type": "string",
|
|
3123
|
+
"enum": [
|
|
3124
|
+
"forbidden"
|
|
3125
|
+
]
|
|
3126
|
+
},
|
|
3127
|
+
"message": {
|
|
3128
|
+
"type": "string"
|
|
3129
|
+
}
|
|
3130
|
+
},
|
|
3131
|
+
"required": [
|
|
3132
|
+
"error"
|
|
3133
|
+
]
|
|
3134
|
+
},
|
|
3135
|
+
"422": {
|
|
3136
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
3137
|
+
},
|
|
3138
|
+
"429": {
|
|
3139
|
+
"type": "object",
|
|
3140
|
+
"properties": {
|
|
3141
|
+
"error": {
|
|
3142
|
+
"type": "string",
|
|
3143
|
+
"enum": [
|
|
3144
|
+
"rate_limited"
|
|
3145
|
+
]
|
|
3146
|
+
},
|
|
3147
|
+
"message": {
|
|
3148
|
+
"type": "string"
|
|
3149
|
+
}
|
|
3150
|
+
},
|
|
3151
|
+
"required": [
|
|
3152
|
+
"error"
|
|
3153
|
+
]
|
|
3154
|
+
},
|
|
3155
|
+
"500": {
|
|
3156
|
+
"type": "object",
|
|
3157
|
+
"properties": {
|
|
3158
|
+
"error": {
|
|
3159
|
+
"type": "string",
|
|
3160
|
+
"enum": [
|
|
3161
|
+
"server_error"
|
|
3162
|
+
]
|
|
3163
|
+
},
|
|
3164
|
+
"message": {
|
|
3165
|
+
"type": "string"
|
|
3166
|
+
}
|
|
3167
|
+
},
|
|
3168
|
+
"required": [
|
|
3169
|
+
"error"
|
|
3170
|
+
]
|
|
3171
|
+
}
|
|
3172
|
+
}
|
|
3173
|
+
},
|
|
3174
|
+
{
|
|
3175
|
+
"name": "dayrate_admin_get_config",
|
|
3176
|
+
"description": "Fetch dayrate pricing/availability config.",
|
|
3177
|
+
"method": "GET",
|
|
3178
|
+
"path": "/api/dayrate/admin/config",
|
|
3179
|
+
"parameters": {
|
|
3180
|
+
"type": "object",
|
|
3181
|
+
"properties": {}
|
|
3182
|
+
},
|
|
3183
|
+
"domain": "dayrate",
|
|
3184
|
+
"admin_required": true,
|
|
3185
|
+
"agent_callable": true,
|
|
3186
|
+
"responses": {
|
|
3187
|
+
"200": {
|
|
3188
|
+
"$ref": "#/components/schemas/GetConfigResponse"
|
|
3189
|
+
},
|
|
3190
|
+
"400": {
|
|
3191
|
+
"type": "object",
|
|
3192
|
+
"properties": {
|
|
3193
|
+
"success": {
|
|
3194
|
+
"type": "boolean"
|
|
3195
|
+
},
|
|
3196
|
+
"error": {
|
|
3197
|
+
"type": "object",
|
|
3198
|
+
"properties": {
|
|
3199
|
+
"code": {
|
|
3200
|
+
"type": "string"
|
|
3201
|
+
},
|
|
3202
|
+
"message": {
|
|
3203
|
+
"type": "string"
|
|
3204
|
+
}
|
|
3205
|
+
},
|
|
3206
|
+
"required": [
|
|
3207
|
+
"message"
|
|
3208
|
+
]
|
|
3209
|
+
}
|
|
3210
|
+
},
|
|
3211
|
+
"required": [
|
|
3212
|
+
"error"
|
|
3213
|
+
]
|
|
3214
|
+
},
|
|
3215
|
+
"401": {
|
|
3216
|
+
"type": "object",
|
|
3217
|
+
"properties": {
|
|
3218
|
+
"error": {
|
|
3219
|
+
"type": "string",
|
|
3220
|
+
"enum": [
|
|
3221
|
+
"unauthorized"
|
|
3222
|
+
]
|
|
3223
|
+
},
|
|
3224
|
+
"message": {
|
|
3225
|
+
"type": "string"
|
|
3226
|
+
}
|
|
3227
|
+
},
|
|
3228
|
+
"required": [
|
|
3229
|
+
"error"
|
|
3230
|
+
]
|
|
3231
|
+
},
|
|
3232
|
+
"403": {
|
|
3233
|
+
"type": "object",
|
|
3234
|
+
"properties": {
|
|
3235
|
+
"error": {
|
|
3236
|
+
"type": "string",
|
|
3237
|
+
"enum": [
|
|
3238
|
+
"forbidden"
|
|
3239
|
+
]
|
|
3240
|
+
},
|
|
3241
|
+
"message": {
|
|
3242
|
+
"type": "string"
|
|
3243
|
+
}
|
|
3244
|
+
},
|
|
3245
|
+
"required": [
|
|
3246
|
+
"error"
|
|
3247
|
+
]
|
|
3248
|
+
},
|
|
3249
|
+
"429": {
|
|
3250
|
+
"type": "object",
|
|
3251
|
+
"properties": {
|
|
3252
|
+
"error": {
|
|
3253
|
+
"type": "string",
|
|
3254
|
+
"enum": [
|
|
3255
|
+
"rate_limited"
|
|
3256
|
+
]
|
|
3257
|
+
},
|
|
3258
|
+
"message": {
|
|
3259
|
+
"type": "string"
|
|
3260
|
+
}
|
|
3261
|
+
},
|
|
3262
|
+
"required": [
|
|
3263
|
+
"error"
|
|
3264
|
+
]
|
|
3265
|
+
},
|
|
3266
|
+
"500": {
|
|
3267
|
+
"type": "object",
|
|
3268
|
+
"properties": {
|
|
3269
|
+
"error": {
|
|
3270
|
+
"type": "string",
|
|
3271
|
+
"enum": [
|
|
3272
|
+
"server_error"
|
|
3273
|
+
]
|
|
3274
|
+
},
|
|
3275
|
+
"message": {
|
|
3276
|
+
"type": "string"
|
|
3277
|
+
}
|
|
3278
|
+
},
|
|
3279
|
+
"required": [
|
|
3280
|
+
"error"
|
|
3281
|
+
]
|
|
3282
|
+
}
|
|
3283
|
+
}
|
|
3284
|
+
},
|
|
3285
|
+
{
|
|
3286
|
+
"name": "dayrate_admin_update_config",
|
|
3287
|
+
"description": "Upsert dayrate config (rates, tiers, horizon, timezone, slot definitions).",
|
|
3288
|
+
"method": "PUT",
|
|
3289
|
+
"path": "/api/dayrate/admin/config",
|
|
3290
|
+
"parameters": {
|
|
3291
|
+
"$ref": "#/components/schemas/UpdateConfigRequest"
|
|
3292
|
+
},
|
|
3293
|
+
"domain": "dayrate",
|
|
3294
|
+
"admin_required": true,
|
|
3295
|
+
"agent_callable": true,
|
|
3296
|
+
"responses": {
|
|
3297
|
+
"200": {
|
|
3298
|
+
"$ref": "#/components/schemas/UpdateConfigResponse"
|
|
3299
|
+
},
|
|
3300
|
+
"400": {
|
|
3301
|
+
"type": "object",
|
|
3302
|
+
"properties": {
|
|
3303
|
+
"success": {
|
|
3304
|
+
"type": "boolean"
|
|
3305
|
+
},
|
|
3306
|
+
"error": {
|
|
3307
|
+
"type": "object",
|
|
3308
|
+
"properties": {
|
|
3309
|
+
"code": {
|
|
3310
|
+
"type": "string"
|
|
3311
|
+
},
|
|
3312
|
+
"message": {
|
|
3313
|
+
"type": "string"
|
|
3314
|
+
}
|
|
3315
|
+
},
|
|
3316
|
+
"required": [
|
|
3317
|
+
"message"
|
|
3318
|
+
]
|
|
3319
|
+
}
|
|
3320
|
+
},
|
|
3321
|
+
"required": [
|
|
3322
|
+
"error"
|
|
3323
|
+
]
|
|
3324
|
+
},
|
|
3325
|
+
"401": {
|
|
3326
|
+
"type": "object",
|
|
3327
|
+
"properties": {
|
|
3328
|
+
"error": {
|
|
3329
|
+
"type": "string",
|
|
3330
|
+
"enum": [
|
|
3331
|
+
"unauthorized"
|
|
3332
|
+
]
|
|
3333
|
+
},
|
|
3334
|
+
"message": {
|
|
3335
|
+
"type": "string"
|
|
3336
|
+
}
|
|
3337
|
+
},
|
|
3338
|
+
"required": [
|
|
3339
|
+
"error"
|
|
3340
|
+
]
|
|
3341
|
+
},
|
|
3342
|
+
"403": {
|
|
3343
|
+
"type": "object",
|
|
3344
|
+
"properties": {
|
|
3345
|
+
"error": {
|
|
3346
|
+
"type": "string",
|
|
3347
|
+
"enum": [
|
|
3348
|
+
"forbidden"
|
|
3349
|
+
]
|
|
3350
|
+
},
|
|
3351
|
+
"message": {
|
|
3352
|
+
"type": "string"
|
|
3353
|
+
}
|
|
3354
|
+
},
|
|
3355
|
+
"required": [
|
|
3356
|
+
"error"
|
|
3357
|
+
]
|
|
3358
|
+
},
|
|
3359
|
+
"422": {
|
|
3360
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
3361
|
+
},
|
|
3362
|
+
"429": {
|
|
3363
|
+
"type": "object",
|
|
3364
|
+
"properties": {
|
|
3365
|
+
"error": {
|
|
3366
|
+
"type": "string",
|
|
3367
|
+
"enum": [
|
|
3368
|
+
"rate_limited"
|
|
3369
|
+
]
|
|
3370
|
+
},
|
|
3371
|
+
"message": {
|
|
3372
|
+
"type": "string"
|
|
3373
|
+
}
|
|
3374
|
+
},
|
|
3375
|
+
"required": [
|
|
3376
|
+
"error"
|
|
3377
|
+
]
|
|
3378
|
+
},
|
|
3379
|
+
"500": {
|
|
3380
|
+
"type": "object",
|
|
3381
|
+
"properties": {
|
|
3382
|
+
"error": {
|
|
3383
|
+
"type": "string",
|
|
3384
|
+
"enum": [
|
|
3385
|
+
"server_error"
|
|
3386
|
+
]
|
|
3387
|
+
},
|
|
3388
|
+
"message": {
|
|
3389
|
+
"type": "string"
|
|
3390
|
+
}
|
|
3391
|
+
},
|
|
3392
|
+
"required": [
|
|
3393
|
+
"error"
|
|
3394
|
+
]
|
|
3395
|
+
}
|
|
3396
|
+
}
|
|
3397
|
+
},
|
|
3398
|
+
{
|
|
3399
|
+
"name": "dayrate_admin_list_bookings",
|
|
3400
|
+
"description": "Admin view of bookings with status/date/email/enrollment/user/is_free filters.",
|
|
3401
|
+
"method": "GET",
|
|
3402
|
+
"path": "/api/dayrate/admin/bookings",
|
|
3403
|
+
"parameters": {
|
|
3404
|
+
"type": "object",
|
|
3405
|
+
"properties": {}
|
|
3406
|
+
},
|
|
3407
|
+
"domain": "dayrate",
|
|
3408
|
+
"admin_required": true,
|
|
3409
|
+
"agent_callable": true,
|
|
3410
|
+
"responses": {
|
|
3411
|
+
"200": {
|
|
3412
|
+
"$ref": "#/components/schemas/ListBookingsResponse"
|
|
3413
|
+
},
|
|
3414
|
+
"400": {
|
|
3415
|
+
"type": "object",
|
|
3416
|
+
"properties": {
|
|
3417
|
+
"success": {
|
|
3418
|
+
"type": "boolean"
|
|
3419
|
+
},
|
|
3420
|
+
"error": {
|
|
3421
|
+
"type": "object",
|
|
3422
|
+
"properties": {
|
|
3423
|
+
"code": {
|
|
3424
|
+
"type": "string"
|
|
3425
|
+
},
|
|
3426
|
+
"message": {
|
|
3427
|
+
"type": "string"
|
|
3428
|
+
}
|
|
3429
|
+
},
|
|
3430
|
+
"required": [
|
|
3431
|
+
"message"
|
|
3432
|
+
]
|
|
3433
|
+
}
|
|
3434
|
+
},
|
|
3435
|
+
"required": [
|
|
3436
|
+
"error"
|
|
3437
|
+
]
|
|
3438
|
+
},
|
|
3439
|
+
"401": {
|
|
3440
|
+
"type": "object",
|
|
3441
|
+
"properties": {
|
|
3442
|
+
"error": {
|
|
3443
|
+
"type": "string",
|
|
3444
|
+
"enum": [
|
|
3445
|
+
"unauthorized"
|
|
3446
|
+
]
|
|
3447
|
+
},
|
|
3448
|
+
"message": {
|
|
3449
|
+
"type": "string"
|
|
3450
|
+
}
|
|
3451
|
+
},
|
|
3452
|
+
"required": [
|
|
3453
|
+
"error"
|
|
3454
|
+
]
|
|
3455
|
+
},
|
|
3456
|
+
"403": {
|
|
3457
|
+
"type": "object",
|
|
3458
|
+
"properties": {
|
|
3459
|
+
"error": {
|
|
3460
|
+
"type": "string",
|
|
3461
|
+
"enum": [
|
|
3462
|
+
"forbidden"
|
|
3463
|
+
]
|
|
3464
|
+
},
|
|
3465
|
+
"message": {
|
|
3466
|
+
"type": "string"
|
|
3467
|
+
}
|
|
3468
|
+
},
|
|
3469
|
+
"required": [
|
|
3470
|
+
"error"
|
|
3471
|
+
]
|
|
3472
|
+
},
|
|
3473
|
+
"422": {
|
|
3474
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
3475
|
+
},
|
|
3476
|
+
"429": {
|
|
3477
|
+
"type": "object",
|
|
3478
|
+
"properties": {
|
|
3479
|
+
"error": {
|
|
3480
|
+
"type": "string",
|
|
3481
|
+
"enum": [
|
|
3482
|
+
"rate_limited"
|
|
3483
|
+
]
|
|
3484
|
+
},
|
|
3485
|
+
"message": {
|
|
3486
|
+
"type": "string"
|
|
3487
|
+
}
|
|
3488
|
+
},
|
|
3489
|
+
"required": [
|
|
3490
|
+
"error"
|
|
3491
|
+
]
|
|
3492
|
+
},
|
|
3493
|
+
"500": {
|
|
3494
|
+
"type": "object",
|
|
3495
|
+
"properties": {
|
|
3496
|
+
"error": {
|
|
3497
|
+
"type": "string",
|
|
3498
|
+
"enum": [
|
|
3499
|
+
"server_error"
|
|
3500
|
+
]
|
|
3501
|
+
},
|
|
3502
|
+
"message": {
|
|
3503
|
+
"type": "string"
|
|
3504
|
+
}
|
|
3505
|
+
},
|
|
3506
|
+
"required": [
|
|
3507
|
+
"error"
|
|
3508
|
+
]
|
|
3509
|
+
}
|
|
3510
|
+
}
|
|
3511
|
+
},
|
|
3512
|
+
{
|
|
3513
|
+
"name": "dayrate_admin_list_policies",
|
|
3514
|
+
"description": "List active booking policies.",
|
|
3515
|
+
"method": "GET",
|
|
3516
|
+
"path": "/api/dayrate/admin/policies",
|
|
3517
|
+
"parameters": {
|
|
3518
|
+
"type": "object",
|
|
3519
|
+
"properties": {}
|
|
3520
|
+
},
|
|
3521
|
+
"domain": "dayrate",
|
|
3522
|
+
"admin_required": true,
|
|
3523
|
+
"agent_callable": true,
|
|
3524
|
+
"responses": {
|
|
3525
|
+
"200": {
|
|
3526
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__ListPoliciesResponse"
|
|
3527
|
+
},
|
|
3528
|
+
"400": {
|
|
3529
|
+
"type": "object",
|
|
3530
|
+
"properties": {
|
|
3531
|
+
"success": {
|
|
3532
|
+
"type": "boolean"
|
|
3533
|
+
},
|
|
3534
|
+
"error": {
|
|
3535
|
+
"type": "object",
|
|
3536
|
+
"properties": {
|
|
3537
|
+
"code": {
|
|
3538
|
+
"type": "string"
|
|
3539
|
+
},
|
|
3540
|
+
"message": {
|
|
3541
|
+
"type": "string"
|
|
3542
|
+
}
|
|
3543
|
+
},
|
|
3544
|
+
"required": [
|
|
3545
|
+
"message"
|
|
3546
|
+
]
|
|
3547
|
+
}
|
|
3548
|
+
},
|
|
3549
|
+
"required": [
|
|
3550
|
+
"error"
|
|
3551
|
+
]
|
|
3552
|
+
},
|
|
3553
|
+
"401": {
|
|
3554
|
+
"type": "object",
|
|
3555
|
+
"properties": {
|
|
3556
|
+
"error": {
|
|
3557
|
+
"type": "string",
|
|
3558
|
+
"enum": [
|
|
3559
|
+
"unauthorized"
|
|
3560
|
+
]
|
|
3561
|
+
},
|
|
3562
|
+
"message": {
|
|
3563
|
+
"type": "string"
|
|
3564
|
+
}
|
|
3565
|
+
},
|
|
3566
|
+
"required": [
|
|
3567
|
+
"error"
|
|
3568
|
+
]
|
|
3569
|
+
},
|
|
3570
|
+
"403": {
|
|
3571
|
+
"type": "object",
|
|
3572
|
+
"properties": {
|
|
3573
|
+
"error": {
|
|
3574
|
+
"type": "string",
|
|
3575
|
+
"enum": [
|
|
3576
|
+
"forbidden"
|
|
3577
|
+
]
|
|
3578
|
+
},
|
|
3579
|
+
"message": {
|
|
3580
|
+
"type": "string"
|
|
3581
|
+
}
|
|
3582
|
+
},
|
|
3583
|
+
"required": [
|
|
3584
|
+
"error"
|
|
3585
|
+
]
|
|
3586
|
+
},
|
|
3587
|
+
"422": {
|
|
3588
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
3589
|
+
},
|
|
3590
|
+
"429": {
|
|
3591
|
+
"type": "object",
|
|
3592
|
+
"properties": {
|
|
3593
|
+
"error": {
|
|
3594
|
+
"type": "string",
|
|
3595
|
+
"enum": [
|
|
3596
|
+
"rate_limited"
|
|
3597
|
+
]
|
|
3598
|
+
},
|
|
3599
|
+
"message": {
|
|
3600
|
+
"type": "string"
|
|
3601
|
+
}
|
|
3602
|
+
},
|
|
3603
|
+
"required": [
|
|
3604
|
+
"error"
|
|
3605
|
+
]
|
|
3606
|
+
},
|
|
3607
|
+
"500": {
|
|
3608
|
+
"type": "object",
|
|
3609
|
+
"properties": {
|
|
3610
|
+
"error": {
|
|
3611
|
+
"type": "string",
|
|
3612
|
+
"enum": [
|
|
3613
|
+
"server_error"
|
|
3614
|
+
]
|
|
3615
|
+
},
|
|
3616
|
+
"message": {
|
|
3617
|
+
"type": "string"
|
|
3618
|
+
}
|
|
3619
|
+
},
|
|
3620
|
+
"required": [
|
|
3621
|
+
"error"
|
|
3622
|
+
]
|
|
3623
|
+
}
|
|
3624
|
+
}
|
|
3625
|
+
},
|
|
3626
|
+
{
|
|
3627
|
+
"name": "dayrate_admin_create_policy",
|
|
3628
|
+
"description": "Create a booking policy (entitlement key, free allotment, overage rate, reschedule rules).",
|
|
3629
|
+
"method": "POST",
|
|
3630
|
+
"path": "/api/dayrate/admin/policies",
|
|
3631
|
+
"parameters": {
|
|
3632
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__CreatePolicyRequest"
|
|
3633
|
+
},
|
|
3634
|
+
"domain": "dayrate",
|
|
3635
|
+
"admin_required": true,
|
|
3636
|
+
"agent_callable": true,
|
|
3637
|
+
"responses": {
|
|
3638
|
+
"201": {
|
|
3639
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__PolicyResponse"
|
|
3640
|
+
},
|
|
3641
|
+
"400": {
|
|
3642
|
+
"type": "object",
|
|
3643
|
+
"properties": {
|
|
3644
|
+
"success": {
|
|
3645
|
+
"type": "boolean"
|
|
3646
|
+
},
|
|
3647
|
+
"error": {
|
|
3648
|
+
"type": "object",
|
|
3649
|
+
"properties": {
|
|
3650
|
+
"code": {
|
|
3651
|
+
"type": "string"
|
|
3652
|
+
},
|
|
3653
|
+
"message": {
|
|
3654
|
+
"type": "string"
|
|
3655
|
+
}
|
|
3656
|
+
},
|
|
3657
|
+
"required": [
|
|
3658
|
+
"message"
|
|
3659
|
+
]
|
|
3660
|
+
}
|
|
3661
|
+
},
|
|
3662
|
+
"required": [
|
|
3663
|
+
"error"
|
|
3664
|
+
]
|
|
3665
|
+
},
|
|
3666
|
+
"401": {
|
|
3667
|
+
"type": "object",
|
|
3668
|
+
"properties": {
|
|
3669
|
+
"error": {
|
|
3670
|
+
"type": "string",
|
|
3671
|
+
"enum": [
|
|
3672
|
+
"unauthorized"
|
|
3673
|
+
]
|
|
3674
|
+
},
|
|
3675
|
+
"message": {
|
|
3676
|
+
"type": "string"
|
|
3677
|
+
}
|
|
3678
|
+
},
|
|
3679
|
+
"required": [
|
|
3680
|
+
"error"
|
|
3681
|
+
]
|
|
3682
|
+
},
|
|
3683
|
+
"403": {
|
|
3684
|
+
"type": "object",
|
|
3685
|
+
"properties": {
|
|
3686
|
+
"error": {
|
|
3687
|
+
"type": "string",
|
|
3688
|
+
"enum": [
|
|
3689
|
+
"forbidden"
|
|
3690
|
+
]
|
|
3691
|
+
},
|
|
3692
|
+
"message": {
|
|
3693
|
+
"type": "string"
|
|
3694
|
+
}
|
|
3695
|
+
},
|
|
3696
|
+
"required": [
|
|
3697
|
+
"error"
|
|
3698
|
+
]
|
|
3699
|
+
},
|
|
3700
|
+
"422": {
|
|
3701
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
3702
|
+
},
|
|
3703
|
+
"429": {
|
|
3704
|
+
"type": "object",
|
|
3705
|
+
"properties": {
|
|
3706
|
+
"error": {
|
|
3707
|
+
"type": "string",
|
|
3708
|
+
"enum": [
|
|
3709
|
+
"rate_limited"
|
|
3710
|
+
]
|
|
3711
|
+
},
|
|
3712
|
+
"message": {
|
|
3713
|
+
"type": "string"
|
|
3714
|
+
}
|
|
3715
|
+
},
|
|
3716
|
+
"required": [
|
|
3717
|
+
"error"
|
|
3718
|
+
]
|
|
3719
|
+
},
|
|
3720
|
+
"500": {
|
|
3721
|
+
"type": "object",
|
|
3722
|
+
"properties": {
|
|
3723
|
+
"error": {
|
|
3724
|
+
"type": "string",
|
|
3725
|
+
"enum": [
|
|
3726
|
+
"server_error"
|
|
3727
|
+
]
|
|
3728
|
+
},
|
|
3729
|
+
"message": {
|
|
3730
|
+
"type": "string"
|
|
3731
|
+
}
|
|
3732
|
+
},
|
|
3733
|
+
"required": [
|
|
3734
|
+
"error"
|
|
3735
|
+
]
|
|
3736
|
+
}
|
|
3737
|
+
}
|
|
3738
|
+
},
|
|
3739
|
+
{
|
|
3740
|
+
"name": "dayrate_admin_update_policy",
|
|
3741
|
+
"description": "Partial update of a booking policy.",
|
|
3742
|
+
"method": "PUT",
|
|
3743
|
+
"path": "/api/dayrate/admin/policies/{policy_id}",
|
|
3744
|
+
"parameters": {
|
|
3745
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__UpdatePolicyRequest"
|
|
3746
|
+
},
|
|
3747
|
+
"domain": "dayrate",
|
|
3748
|
+
"admin_required": true,
|
|
3749
|
+
"agent_callable": true,
|
|
3750
|
+
"responses": {
|
|
3751
|
+
"200": {
|
|
3752
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__PolicyResponse"
|
|
3753
|
+
},
|
|
3754
|
+
"400": {
|
|
3755
|
+
"type": "object",
|
|
3756
|
+
"properties": {
|
|
3757
|
+
"success": {
|
|
3758
|
+
"type": "boolean"
|
|
3759
|
+
},
|
|
3760
|
+
"error": {
|
|
3761
|
+
"type": "object",
|
|
3762
|
+
"properties": {
|
|
3763
|
+
"code": {
|
|
3764
|
+
"type": "string"
|
|
3765
|
+
},
|
|
3766
|
+
"message": {
|
|
3767
|
+
"type": "string"
|
|
3768
|
+
}
|
|
3769
|
+
},
|
|
3770
|
+
"required": [
|
|
3771
|
+
"message"
|
|
3772
|
+
]
|
|
3773
|
+
}
|
|
3774
|
+
},
|
|
3775
|
+
"required": [
|
|
3776
|
+
"error"
|
|
3777
|
+
]
|
|
3778
|
+
},
|
|
3779
|
+
"401": {
|
|
3780
|
+
"type": "object",
|
|
3781
|
+
"properties": {
|
|
3782
|
+
"error": {
|
|
3783
|
+
"type": "string",
|
|
3784
|
+
"enum": [
|
|
3785
|
+
"unauthorized"
|
|
3786
|
+
]
|
|
3787
|
+
},
|
|
3788
|
+
"message": {
|
|
3789
|
+
"type": "string"
|
|
3790
|
+
}
|
|
3791
|
+
},
|
|
3792
|
+
"required": [
|
|
3793
|
+
"error"
|
|
3794
|
+
]
|
|
3795
|
+
},
|
|
3796
|
+
"403": {
|
|
3797
|
+
"type": "object",
|
|
3798
|
+
"properties": {
|
|
3799
|
+
"error": {
|
|
3800
|
+
"type": "string",
|
|
3801
|
+
"enum": [
|
|
3802
|
+
"forbidden"
|
|
3803
|
+
]
|
|
3804
|
+
},
|
|
3805
|
+
"message": {
|
|
3806
|
+
"type": "string"
|
|
3807
|
+
}
|
|
3808
|
+
},
|
|
3809
|
+
"required": [
|
|
3810
|
+
"error"
|
|
3811
|
+
]
|
|
3812
|
+
},
|
|
3813
|
+
"422": {
|
|
3814
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
3815
|
+
},
|
|
3816
|
+
"429": {
|
|
3817
|
+
"type": "object",
|
|
3818
|
+
"properties": {
|
|
3819
|
+
"error": {
|
|
3820
|
+
"type": "string",
|
|
3821
|
+
"enum": [
|
|
3822
|
+
"rate_limited"
|
|
3823
|
+
]
|
|
3824
|
+
},
|
|
3825
|
+
"message": {
|
|
3826
|
+
"type": "string"
|
|
3827
|
+
}
|
|
3828
|
+
},
|
|
3829
|
+
"required": [
|
|
3830
|
+
"error"
|
|
3831
|
+
]
|
|
3832
|
+
},
|
|
3833
|
+
"500": {
|
|
3834
|
+
"type": "object",
|
|
3835
|
+
"properties": {
|
|
3836
|
+
"error": {
|
|
3837
|
+
"type": "string",
|
|
3838
|
+
"enum": [
|
|
3839
|
+
"server_error"
|
|
3840
|
+
]
|
|
3841
|
+
},
|
|
3842
|
+
"message": {
|
|
3843
|
+
"type": "string"
|
|
3844
|
+
}
|
|
3845
|
+
},
|
|
3846
|
+
"required": [
|
|
3847
|
+
"error"
|
|
3848
|
+
]
|
|
3849
|
+
}
|
|
3850
|
+
}
|
|
3851
|
+
},
|
|
3852
|
+
{
|
|
3853
|
+
"name": "dayrate_admin_delete_policy",
|
|
3854
|
+
"description": "Delete a booking policy.",
|
|
3855
|
+
"method": "DELETE",
|
|
3856
|
+
"path": "/api/dayrate/admin/policies/{policy_id}",
|
|
3857
|
+
"parameters": {
|
|
3858
|
+
"type": "object",
|
|
3859
|
+
"properties": {}
|
|
3860
|
+
},
|
|
3861
|
+
"domain": "dayrate",
|
|
3862
|
+
"admin_required": true,
|
|
3863
|
+
"agent_callable": true,
|
|
3864
|
+
"responses": {
|
|
3865
|
+
"200": {
|
|
3866
|
+
"$ref": "#/components/schemas/DeletePolicyResponse"
|
|
3867
|
+
},
|
|
3868
|
+
"400": {
|
|
3869
|
+
"type": "object",
|
|
3870
|
+
"properties": {
|
|
3871
|
+
"success": {
|
|
3872
|
+
"type": "boolean"
|
|
3873
|
+
},
|
|
3874
|
+
"error": {
|
|
3875
|
+
"type": "object",
|
|
3876
|
+
"properties": {
|
|
3877
|
+
"code": {
|
|
3878
|
+
"type": "string"
|
|
3879
|
+
},
|
|
3880
|
+
"message": {
|
|
3881
|
+
"type": "string"
|
|
3882
|
+
}
|
|
3883
|
+
},
|
|
3884
|
+
"required": [
|
|
3885
|
+
"message"
|
|
3886
|
+
]
|
|
3887
|
+
}
|
|
3888
|
+
},
|
|
3889
|
+
"required": [
|
|
3890
|
+
"error"
|
|
3891
|
+
]
|
|
3892
|
+
},
|
|
3893
|
+
"401": {
|
|
3894
|
+
"type": "object",
|
|
3895
|
+
"properties": {
|
|
3896
|
+
"error": {
|
|
3897
|
+
"type": "string",
|
|
3898
|
+
"enum": [
|
|
3899
|
+
"unauthorized"
|
|
3900
|
+
]
|
|
3901
|
+
},
|
|
3902
|
+
"message": {
|
|
3903
|
+
"type": "string"
|
|
3904
|
+
}
|
|
3905
|
+
},
|
|
3906
|
+
"required": [
|
|
3907
|
+
"error"
|
|
3908
|
+
]
|
|
3909
|
+
},
|
|
3910
|
+
"403": {
|
|
3911
|
+
"type": "object",
|
|
3912
|
+
"properties": {
|
|
3913
|
+
"error": {
|
|
3914
|
+
"type": "string",
|
|
3915
|
+
"enum": [
|
|
3916
|
+
"forbidden"
|
|
3917
|
+
]
|
|
3918
|
+
},
|
|
3919
|
+
"message": {
|
|
3920
|
+
"type": "string"
|
|
3921
|
+
}
|
|
3922
|
+
},
|
|
3923
|
+
"required": [
|
|
3924
|
+
"error"
|
|
3925
|
+
]
|
|
3926
|
+
},
|
|
3927
|
+
"422": {
|
|
3928
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
3929
|
+
},
|
|
3930
|
+
"429": {
|
|
3931
|
+
"type": "object",
|
|
3932
|
+
"properties": {
|
|
3933
|
+
"error": {
|
|
3934
|
+
"type": "string",
|
|
3935
|
+
"enum": [
|
|
3936
|
+
"rate_limited"
|
|
3937
|
+
]
|
|
3938
|
+
},
|
|
3939
|
+
"message": {
|
|
3940
|
+
"type": "string"
|
|
3941
|
+
}
|
|
3942
|
+
},
|
|
3943
|
+
"required": [
|
|
3944
|
+
"error"
|
|
3945
|
+
]
|
|
3946
|
+
},
|
|
3947
|
+
"500": {
|
|
3948
|
+
"type": "object",
|
|
3949
|
+
"properties": {
|
|
3950
|
+
"error": {
|
|
3951
|
+
"type": "string",
|
|
3952
|
+
"enum": [
|
|
3953
|
+
"server_error"
|
|
3954
|
+
]
|
|
3955
|
+
},
|
|
3956
|
+
"message": {
|
|
3957
|
+
"type": "string"
|
|
3958
|
+
}
|
|
3959
|
+
},
|
|
3960
|
+
"required": [
|
|
3961
|
+
"error"
|
|
3962
|
+
]
|
|
3963
|
+
}
|
|
3964
|
+
}
|
|
3965
|
+
},
|
|
3966
|
+
{
|
|
3967
|
+
"name": "email_send",
|
|
3968
|
+
"description": "Send a transactional email by template key. In local mode Mailgun calls are short-circuited.",
|
|
3969
|
+
"method": "POST",
|
|
3970
|
+
"path": "/api/email/send",
|
|
3971
|
+
"parameters": {
|
|
3972
|
+
"$ref": "#/components/schemas/SendEmailRequest"
|
|
3973
|
+
},
|
|
3974
|
+
"domain": "email",
|
|
3975
|
+
"admin_required": false,
|
|
3976
|
+
"agent_callable": true,
|
|
3977
|
+
"responses": {
|
|
3978
|
+
"200": {
|
|
3979
|
+
"$ref": "#/components/schemas/SendEmailResponse"
|
|
3980
|
+
},
|
|
3981
|
+
"400": {
|
|
3982
|
+
"type": "object",
|
|
3983
|
+
"properties": {
|
|
3984
|
+
"success": {
|
|
3985
|
+
"type": "boolean"
|
|
3986
|
+
},
|
|
3987
|
+
"error": {
|
|
3988
|
+
"type": "object",
|
|
3989
|
+
"properties": {
|
|
3990
|
+
"code": {
|
|
3991
|
+
"type": "string"
|
|
3992
|
+
},
|
|
3993
|
+
"message": {
|
|
3994
|
+
"type": "string"
|
|
3995
|
+
}
|
|
3996
|
+
},
|
|
3997
|
+
"required": [
|
|
3998
|
+
"message"
|
|
3999
|
+
]
|
|
4000
|
+
}
|
|
4001
|
+
},
|
|
4002
|
+
"required": [
|
|
4003
|
+
"error"
|
|
4004
|
+
]
|
|
4005
|
+
},
|
|
4006
|
+
"401": {
|
|
4007
|
+
"type": "object",
|
|
4008
|
+
"properties": {
|
|
4009
|
+
"error": {
|
|
4010
|
+
"type": "string",
|
|
4011
|
+
"enum": [
|
|
4012
|
+
"unauthorized"
|
|
4013
|
+
]
|
|
4014
|
+
},
|
|
4015
|
+
"message": {
|
|
4016
|
+
"type": "string"
|
|
4017
|
+
}
|
|
4018
|
+
},
|
|
4019
|
+
"required": [
|
|
4020
|
+
"error"
|
|
4021
|
+
]
|
|
4022
|
+
},
|
|
4023
|
+
"403": {
|
|
4024
|
+
"type": "object",
|
|
4025
|
+
"properties": {
|
|
4026
|
+
"error": {
|
|
4027
|
+
"type": "string",
|
|
4028
|
+
"enum": [
|
|
4029
|
+
"forbidden"
|
|
4030
|
+
]
|
|
4031
|
+
},
|
|
4032
|
+
"message": {
|
|
4033
|
+
"type": "string"
|
|
4034
|
+
}
|
|
4035
|
+
},
|
|
4036
|
+
"required": [
|
|
4037
|
+
"error"
|
|
4038
|
+
]
|
|
4039
|
+
},
|
|
4040
|
+
"422": {
|
|
4041
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
4042
|
+
},
|
|
4043
|
+
"429": {
|
|
4044
|
+
"type": "object",
|
|
4045
|
+
"properties": {
|
|
4046
|
+
"error": {
|
|
4047
|
+
"type": "string",
|
|
4048
|
+
"enum": [
|
|
4049
|
+
"rate_limited"
|
|
4050
|
+
]
|
|
4051
|
+
},
|
|
4052
|
+
"message": {
|
|
4053
|
+
"type": "string"
|
|
4054
|
+
}
|
|
4055
|
+
},
|
|
4056
|
+
"required": [
|
|
4057
|
+
"error"
|
|
4058
|
+
]
|
|
4059
|
+
},
|
|
4060
|
+
"500": {
|
|
4061
|
+
"type": "object",
|
|
4062
|
+
"properties": {
|
|
4063
|
+
"error": {
|
|
4064
|
+
"type": "string",
|
|
4065
|
+
"enum": [
|
|
4066
|
+
"server_error"
|
|
4067
|
+
]
|
|
4068
|
+
},
|
|
4069
|
+
"message": {
|
|
4070
|
+
"type": "string"
|
|
4071
|
+
}
|
|
4072
|
+
},
|
|
4073
|
+
"required": [
|
|
4074
|
+
"error"
|
|
4075
|
+
]
|
|
4076
|
+
}
|
|
4077
|
+
}
|
|
4078
|
+
},
|
|
4079
|
+
{
|
|
4080
|
+
"name": "email_get_template",
|
|
4081
|
+
"description": "Fetch a template definition by key.",
|
|
4082
|
+
"method": "GET",
|
|
4083
|
+
"path": "/api/email/templates/{template_key}",
|
|
4084
|
+
"parameters": {
|
|
4085
|
+
"type": "object",
|
|
4086
|
+
"properties": {}
|
|
4087
|
+
},
|
|
4088
|
+
"domain": "email",
|
|
4089
|
+
"admin_required": false,
|
|
4090
|
+
"agent_callable": true,
|
|
4091
|
+
"responses": {
|
|
4092
|
+
"200": {},
|
|
4093
|
+
"400": {
|
|
4094
|
+
"type": "object",
|
|
4095
|
+
"properties": {
|
|
4096
|
+
"success": {
|
|
4097
|
+
"type": "boolean"
|
|
4098
|
+
},
|
|
4099
|
+
"error": {
|
|
4100
|
+
"type": "object",
|
|
4101
|
+
"properties": {
|
|
4102
|
+
"code": {
|
|
4103
|
+
"type": "string"
|
|
4104
|
+
},
|
|
4105
|
+
"message": {
|
|
4106
|
+
"type": "string"
|
|
4107
|
+
}
|
|
4108
|
+
},
|
|
4109
|
+
"required": [
|
|
4110
|
+
"message"
|
|
4111
|
+
]
|
|
4112
|
+
}
|
|
4113
|
+
},
|
|
4114
|
+
"required": [
|
|
4115
|
+
"error"
|
|
4116
|
+
]
|
|
4117
|
+
},
|
|
4118
|
+
"401": {
|
|
4119
|
+
"type": "object",
|
|
4120
|
+
"properties": {
|
|
4121
|
+
"error": {
|
|
4122
|
+
"type": "string",
|
|
4123
|
+
"enum": [
|
|
4124
|
+
"unauthorized"
|
|
4125
|
+
]
|
|
4126
|
+
},
|
|
4127
|
+
"message": {
|
|
4128
|
+
"type": "string"
|
|
4129
|
+
}
|
|
4130
|
+
},
|
|
4131
|
+
"required": [
|
|
4132
|
+
"error"
|
|
4133
|
+
]
|
|
4134
|
+
},
|
|
4135
|
+
"403": {
|
|
4136
|
+
"type": "object",
|
|
4137
|
+
"properties": {
|
|
4138
|
+
"error": {
|
|
4139
|
+
"type": "string",
|
|
4140
|
+
"enum": [
|
|
4141
|
+
"forbidden"
|
|
4142
|
+
]
|
|
4143
|
+
},
|
|
4144
|
+
"message": {
|
|
4145
|
+
"type": "string"
|
|
4146
|
+
}
|
|
4147
|
+
},
|
|
4148
|
+
"required": [
|
|
4149
|
+
"error"
|
|
4150
|
+
]
|
|
4151
|
+
},
|
|
4152
|
+
"422": {
|
|
4153
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
4154
|
+
},
|
|
4155
|
+
"429": {
|
|
4156
|
+
"type": "object",
|
|
4157
|
+
"properties": {
|
|
4158
|
+
"error": {
|
|
4159
|
+
"type": "string",
|
|
4160
|
+
"enum": [
|
|
4161
|
+
"rate_limited"
|
|
4162
|
+
]
|
|
4163
|
+
},
|
|
4164
|
+
"message": {
|
|
4165
|
+
"type": "string"
|
|
4166
|
+
}
|
|
4167
|
+
},
|
|
4168
|
+
"required": [
|
|
4169
|
+
"error"
|
|
4170
|
+
]
|
|
4171
|
+
},
|
|
4172
|
+
"500": {
|
|
4173
|
+
"type": "object",
|
|
4174
|
+
"properties": {
|
|
4175
|
+
"error": {
|
|
4176
|
+
"type": "string",
|
|
4177
|
+
"enum": [
|
|
4178
|
+
"server_error"
|
|
4179
|
+
]
|
|
4180
|
+
},
|
|
4181
|
+
"message": {
|
|
4182
|
+
"type": "string"
|
|
4183
|
+
}
|
|
4184
|
+
},
|
|
4185
|
+
"required": [
|
|
4186
|
+
"error"
|
|
4187
|
+
]
|
|
4188
|
+
}
|
|
4189
|
+
}
|
|
4190
|
+
},
|
|
4191
|
+
{
|
|
4192
|
+
"name": "email_preview_template",
|
|
4193
|
+
"description": "Render a template with its sample context.",
|
|
4194
|
+
"method": "GET",
|
|
4195
|
+
"path": "/api/email/templates/{template_key}/preview",
|
|
4196
|
+
"parameters": {
|
|
4197
|
+
"type": "object",
|
|
4198
|
+
"properties": {}
|
|
4199
|
+
},
|
|
4200
|
+
"domain": "email",
|
|
4201
|
+
"admin_required": false,
|
|
4202
|
+
"agent_callable": true,
|
|
4203
|
+
"responses": {
|
|
4204
|
+
"200": {},
|
|
4205
|
+
"400": {
|
|
4206
|
+
"type": "object",
|
|
4207
|
+
"properties": {
|
|
4208
|
+
"success": {
|
|
4209
|
+
"type": "boolean"
|
|
4210
|
+
},
|
|
4211
|
+
"error": {
|
|
4212
|
+
"type": "object",
|
|
4213
|
+
"properties": {
|
|
4214
|
+
"code": {
|
|
4215
|
+
"type": "string"
|
|
4216
|
+
},
|
|
4217
|
+
"message": {
|
|
4218
|
+
"type": "string"
|
|
4219
|
+
}
|
|
4220
|
+
},
|
|
4221
|
+
"required": [
|
|
4222
|
+
"message"
|
|
4223
|
+
]
|
|
4224
|
+
}
|
|
4225
|
+
},
|
|
4226
|
+
"required": [
|
|
4227
|
+
"error"
|
|
4228
|
+
]
|
|
4229
|
+
},
|
|
4230
|
+
"401": {
|
|
4231
|
+
"type": "object",
|
|
4232
|
+
"properties": {
|
|
4233
|
+
"error": {
|
|
4234
|
+
"type": "string",
|
|
4235
|
+
"enum": [
|
|
4236
|
+
"unauthorized"
|
|
4237
|
+
]
|
|
4238
|
+
},
|
|
4239
|
+
"message": {
|
|
4240
|
+
"type": "string"
|
|
4241
|
+
}
|
|
4242
|
+
},
|
|
4243
|
+
"required": [
|
|
4244
|
+
"error"
|
|
4245
|
+
]
|
|
4246
|
+
},
|
|
4247
|
+
"403": {
|
|
4248
|
+
"type": "object",
|
|
4249
|
+
"properties": {
|
|
4250
|
+
"error": {
|
|
4251
|
+
"type": "string",
|
|
4252
|
+
"enum": [
|
|
4253
|
+
"forbidden"
|
|
4254
|
+
]
|
|
4255
|
+
},
|
|
4256
|
+
"message": {
|
|
4257
|
+
"type": "string"
|
|
4258
|
+
}
|
|
4259
|
+
},
|
|
4260
|
+
"required": [
|
|
4261
|
+
"error"
|
|
4262
|
+
]
|
|
4263
|
+
},
|
|
4264
|
+
"422": {
|
|
4265
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
4266
|
+
},
|
|
4267
|
+
"429": {
|
|
4268
|
+
"type": "object",
|
|
4269
|
+
"properties": {
|
|
4270
|
+
"error": {
|
|
4271
|
+
"type": "string",
|
|
4272
|
+
"enum": [
|
|
4273
|
+
"rate_limited"
|
|
4274
|
+
]
|
|
4275
|
+
},
|
|
4276
|
+
"message": {
|
|
4277
|
+
"type": "string"
|
|
4278
|
+
}
|
|
4279
|
+
},
|
|
4280
|
+
"required": [
|
|
4281
|
+
"error"
|
|
4282
|
+
]
|
|
4283
|
+
},
|
|
4284
|
+
"500": {
|
|
4285
|
+
"type": "object",
|
|
4286
|
+
"properties": {
|
|
4287
|
+
"error": {
|
|
4288
|
+
"type": "string",
|
|
4289
|
+
"enum": [
|
|
4290
|
+
"server_error"
|
|
4291
|
+
]
|
|
4292
|
+
},
|
|
4293
|
+
"message": {
|
|
4294
|
+
"type": "string"
|
|
4295
|
+
}
|
|
4296
|
+
},
|
|
4297
|
+
"required": [
|
|
4298
|
+
"error"
|
|
4299
|
+
]
|
|
4300
|
+
}
|
|
4301
|
+
}
|
|
4302
|
+
},
|
|
4303
|
+
{
|
|
4304
|
+
"name": "email_preview_template_with_context",
|
|
4305
|
+
"description": "Render a template with caller-provided context.",
|
|
4306
|
+
"method": "POST",
|
|
4307
|
+
"path": "/api/email/templates/{template_key}/preview",
|
|
2383
4308
|
"parameters": {
|
|
2384
|
-
"
|
|
2385
|
-
"properties": {}
|
|
4309
|
+
"$ref": "#/components/schemas/PreviewTemplateRequest"
|
|
2386
4310
|
},
|
|
2387
4311
|
"domain": "email",
|
|
2388
4312
|
"admin_required": false,
|
|
@@ -2488,10 +4412,10 @@
|
|
|
2488
4412
|
}
|
|
2489
4413
|
},
|
|
2490
4414
|
{
|
|
2491
|
-
"name": "
|
|
2492
|
-
"description": "
|
|
4415
|
+
"name": "email_list_logs",
|
|
4416
|
+
"description": "List email sends. Non-admin users are scoped to their own logs; admins can filter by user_id or owner_id.",
|
|
2493
4417
|
"method": "GET",
|
|
2494
|
-
"path": "/api/email/
|
|
4418
|
+
"path": "/api/email/logs",
|
|
2495
4419
|
"parameters": {
|
|
2496
4420
|
"type": "object",
|
|
2497
4421
|
"properties": {}
|
|
@@ -2500,7 +4424,9 @@
|
|
|
2500
4424
|
"admin_required": false,
|
|
2501
4425
|
"agent_callable": true,
|
|
2502
4426
|
"responses": {
|
|
2503
|
-
"200": {
|
|
4427
|
+
"200": {
|
|
4428
|
+
"$ref": "#/components/schemas/ListLogsResponse"
|
|
4429
|
+
},
|
|
2504
4430
|
"400": {
|
|
2505
4431
|
"type": "object",
|
|
2506
4432
|
"properties": {
|
|
@@ -2600,18 +4526,134 @@
|
|
|
2600
4526
|
}
|
|
2601
4527
|
},
|
|
2602
4528
|
{
|
|
2603
|
-
"name": "
|
|
2604
|
-
"description": "
|
|
4529
|
+
"name": "email_admin_list_templates",
|
|
4530
|
+
"description": "List all templates for the application.",
|
|
4531
|
+
"method": "GET",
|
|
4532
|
+
"path": "/api/email/templates",
|
|
4533
|
+
"parameters": {
|
|
4534
|
+
"type": "object",
|
|
4535
|
+
"properties": {}
|
|
4536
|
+
},
|
|
4537
|
+
"domain": "email",
|
|
4538
|
+
"admin_required": true,
|
|
4539
|
+
"agent_callable": true,
|
|
4540
|
+
"responses": {
|
|
4541
|
+
"200": {
|
|
4542
|
+
"$ref": "#/components/schemas/ListTemplatesResponse"
|
|
4543
|
+
},
|
|
4544
|
+
"400": {
|
|
4545
|
+
"type": "object",
|
|
4546
|
+
"properties": {
|
|
4547
|
+
"success": {
|
|
4548
|
+
"type": "boolean"
|
|
4549
|
+
},
|
|
4550
|
+
"error": {
|
|
4551
|
+
"type": "object",
|
|
4552
|
+
"properties": {
|
|
4553
|
+
"code": {
|
|
4554
|
+
"type": "string"
|
|
4555
|
+
},
|
|
4556
|
+
"message": {
|
|
4557
|
+
"type": "string"
|
|
4558
|
+
}
|
|
4559
|
+
},
|
|
4560
|
+
"required": [
|
|
4561
|
+
"message"
|
|
4562
|
+
]
|
|
4563
|
+
}
|
|
4564
|
+
},
|
|
4565
|
+
"required": [
|
|
4566
|
+
"error"
|
|
4567
|
+
]
|
|
4568
|
+
},
|
|
4569
|
+
"401": {
|
|
4570
|
+
"type": "object",
|
|
4571
|
+
"properties": {
|
|
4572
|
+
"error": {
|
|
4573
|
+
"type": "string",
|
|
4574
|
+
"enum": [
|
|
4575
|
+
"unauthorized"
|
|
4576
|
+
]
|
|
4577
|
+
},
|
|
4578
|
+
"message": {
|
|
4579
|
+
"type": "string"
|
|
4580
|
+
}
|
|
4581
|
+
},
|
|
4582
|
+
"required": [
|
|
4583
|
+
"error"
|
|
4584
|
+
]
|
|
4585
|
+
},
|
|
4586
|
+
"403": {
|
|
4587
|
+
"type": "object",
|
|
4588
|
+
"properties": {
|
|
4589
|
+
"error": {
|
|
4590
|
+
"type": "string",
|
|
4591
|
+
"enum": [
|
|
4592
|
+
"forbidden"
|
|
4593
|
+
]
|
|
4594
|
+
},
|
|
4595
|
+
"message": {
|
|
4596
|
+
"type": "string"
|
|
4597
|
+
}
|
|
4598
|
+
},
|
|
4599
|
+
"required": [
|
|
4600
|
+
"error"
|
|
4601
|
+
]
|
|
4602
|
+
},
|
|
4603
|
+
"422": {
|
|
4604
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
4605
|
+
},
|
|
4606
|
+
"429": {
|
|
4607
|
+
"type": "object",
|
|
4608
|
+
"properties": {
|
|
4609
|
+
"error": {
|
|
4610
|
+
"type": "string",
|
|
4611
|
+
"enum": [
|
|
4612
|
+
"rate_limited"
|
|
4613
|
+
]
|
|
4614
|
+
},
|
|
4615
|
+
"message": {
|
|
4616
|
+
"type": "string"
|
|
4617
|
+
}
|
|
4618
|
+
},
|
|
4619
|
+
"required": [
|
|
4620
|
+
"error"
|
|
4621
|
+
]
|
|
4622
|
+
},
|
|
4623
|
+
"500": {
|
|
4624
|
+
"type": "object",
|
|
4625
|
+
"properties": {
|
|
4626
|
+
"error": {
|
|
4627
|
+
"type": "string",
|
|
4628
|
+
"enum": [
|
|
4629
|
+
"server_error"
|
|
4630
|
+
]
|
|
4631
|
+
},
|
|
4632
|
+
"message": {
|
|
4633
|
+
"type": "string"
|
|
4634
|
+
}
|
|
4635
|
+
},
|
|
4636
|
+
"required": [
|
|
4637
|
+
"error"
|
|
4638
|
+
]
|
|
4639
|
+
}
|
|
4640
|
+
}
|
|
4641
|
+
},
|
|
4642
|
+
{
|
|
4643
|
+
"name": "email_admin_create_template",
|
|
4644
|
+
"description": "Create a template (subject, html, text, variables, sample context).",
|
|
2605
4645
|
"method": "POST",
|
|
2606
|
-
"path": "/api/email/templates
|
|
4646
|
+
"path": "/api/email/templates",
|
|
2607
4647
|
"parameters": {
|
|
2608
|
-
"$ref": "#/components/schemas/
|
|
4648
|
+
"$ref": "#/components/schemas/CreateTemplateRequest"
|
|
2609
4649
|
},
|
|
2610
4650
|
"domain": "email",
|
|
2611
|
-
"admin_required":
|
|
4651
|
+
"admin_required": true,
|
|
2612
4652
|
"agent_callable": true,
|
|
2613
4653
|
"responses": {
|
|
2614
|
-
"
|
|
4654
|
+
"201": {
|
|
4655
|
+
"$ref": "#/components/schemas/CreateTemplateResponse"
|
|
4656
|
+
},
|
|
2615
4657
|
"400": {
|
|
2616
4658
|
"type": "object",
|
|
2617
4659
|
"properties": {
|
|
@@ -2711,20 +4753,19 @@
|
|
|
2711
4753
|
}
|
|
2712
4754
|
},
|
|
2713
4755
|
{
|
|
2714
|
-
"name": "
|
|
2715
|
-
"description": "
|
|
2716
|
-
"method": "
|
|
2717
|
-
"path": "/api/email/
|
|
4756
|
+
"name": "email_admin_update_template",
|
|
4757
|
+
"description": "Update an existing template.",
|
|
4758
|
+
"method": "PUT",
|
|
4759
|
+
"path": "/api/email/templates/{template_key}",
|
|
2718
4760
|
"parameters": {
|
|
2719
|
-
"
|
|
2720
|
-
"properties": {}
|
|
4761
|
+
"$ref": "#/components/schemas/UpdateTemplateRequest"
|
|
2721
4762
|
},
|
|
2722
4763
|
"domain": "email",
|
|
2723
|
-
"admin_required":
|
|
4764
|
+
"admin_required": true,
|
|
2724
4765
|
"agent_callable": true,
|
|
2725
4766
|
"responses": {
|
|
2726
4767
|
"200": {
|
|
2727
|
-
"$ref": "#/components/schemas/
|
|
4768
|
+
"$ref": "#/components/schemas/UpdateTemplateResponse"
|
|
2728
4769
|
},
|
|
2729
4770
|
"400": {
|
|
2730
4771
|
"type": "object",
|
|
@@ -2825,20 +4866,20 @@
|
|
|
2825
4866
|
}
|
|
2826
4867
|
},
|
|
2827
4868
|
{
|
|
2828
|
-
"name": "
|
|
2829
|
-
"description": "
|
|
4869
|
+
"name": "email_admin_get_override",
|
|
4870
|
+
"description": "Get subject/body override for a template.",
|
|
2830
4871
|
"method": "GET",
|
|
2831
|
-
"path": "/api/email/templates",
|
|
4872
|
+
"path": "/api/email/templates/{template_key}/override",
|
|
2832
4873
|
"parameters": {
|
|
2833
4874
|
"type": "object",
|
|
2834
4875
|
"properties": {}
|
|
2835
4876
|
},
|
|
2836
4877
|
"domain": "email",
|
|
2837
|
-
"admin_required":
|
|
4878
|
+
"admin_required": false,
|
|
2838
4879
|
"agent_callable": true,
|
|
2839
4880
|
"responses": {
|
|
2840
4881
|
"200": {
|
|
2841
|
-
"$ref": "#/components/schemas/
|
|
4882
|
+
"$ref": "#/components/schemas/TemplateOverrideResponse"
|
|
2842
4883
|
},
|
|
2843
4884
|
"400": {
|
|
2844
4885
|
"type": "object",
|
|
@@ -2899,6 +4940,9 @@
|
|
|
2899
4940
|
"error"
|
|
2900
4941
|
]
|
|
2901
4942
|
},
|
|
4943
|
+
"422": {
|
|
4944
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
4945
|
+
},
|
|
2902
4946
|
"429": {
|
|
2903
4947
|
"type": "object",
|
|
2904
4948
|
"properties": {
|
|
@@ -2936,19 +4980,19 @@
|
|
|
2936
4980
|
}
|
|
2937
4981
|
},
|
|
2938
4982
|
{
|
|
2939
|
-
"name": "
|
|
2940
|
-
"description": "
|
|
2941
|
-
"method": "
|
|
2942
|
-
"path": "/api/email/templates",
|
|
4983
|
+
"name": "email_admin_set_override",
|
|
4984
|
+
"description": "Set subject/body override for a template.",
|
|
4985
|
+
"method": "PUT",
|
|
4986
|
+
"path": "/api/email/templates/{template_key}/override",
|
|
2943
4987
|
"parameters": {
|
|
2944
|
-
"$ref": "#/components/schemas/
|
|
4988
|
+
"$ref": "#/components/schemas/TemplateOverrideRequest"
|
|
2945
4989
|
},
|
|
2946
4990
|
"domain": "email",
|
|
2947
4991
|
"admin_required": true,
|
|
2948
4992
|
"agent_callable": true,
|
|
2949
4993
|
"responses": {
|
|
2950
|
-
"
|
|
2951
|
-
"$ref": "#/components/schemas/
|
|
4994
|
+
"200": {
|
|
4995
|
+
"$ref": "#/components/schemas/TemplateOverrideResponse"
|
|
2952
4996
|
},
|
|
2953
4997
|
"400": {
|
|
2954
4998
|
"type": "object",
|
|
@@ -3049,19 +5093,20 @@
|
|
|
3049
5093
|
}
|
|
3050
5094
|
},
|
|
3051
5095
|
{
|
|
3052
|
-
"name": "
|
|
3053
|
-
"description": "
|
|
3054
|
-
"method": "
|
|
3055
|
-
"path": "/api/email/templates/{template_key}",
|
|
5096
|
+
"name": "email_admin_clear_override",
|
|
5097
|
+
"description": "Clear subject/body override for a template.",
|
|
5098
|
+
"method": "DELETE",
|
|
5099
|
+
"path": "/api/email/templates/{template_key}/override",
|
|
3056
5100
|
"parameters": {
|
|
3057
|
-
"
|
|
5101
|
+
"type": "object",
|
|
5102
|
+
"properties": {}
|
|
3058
5103
|
},
|
|
3059
5104
|
"domain": "email",
|
|
3060
5105
|
"admin_required": true,
|
|
3061
5106
|
"agent_callable": true,
|
|
3062
5107
|
"responses": {
|
|
3063
5108
|
"200": {
|
|
3064
|
-
"$ref": "#/components/schemas/
|
|
5109
|
+
"$ref": "#/components/schemas/DeleteTemplateOverrideResponse"
|
|
3065
5110
|
},
|
|
3066
5111
|
"400": {
|
|
3067
5112
|
"type": "object",
|
|
@@ -3162,20 +5207,20 @@
|
|
|
3162
5207
|
}
|
|
3163
5208
|
},
|
|
3164
5209
|
{
|
|
3165
|
-
"name": "
|
|
3166
|
-
"description": "
|
|
5210
|
+
"name": "webhook_list",
|
|
5211
|
+
"description": "List registered outbound webhooks.",
|
|
3167
5212
|
"method": "GET",
|
|
3168
|
-
"path": "/api/
|
|
5213
|
+
"path": "/api/webhooks",
|
|
3169
5214
|
"parameters": {
|
|
3170
5215
|
"type": "object",
|
|
3171
5216
|
"properties": {}
|
|
3172
5217
|
},
|
|
3173
|
-
"domain": "
|
|
5218
|
+
"domain": "webhooks",
|
|
3174
5219
|
"admin_required": false,
|
|
3175
5220
|
"agent_callable": true,
|
|
3176
5221
|
"responses": {
|
|
3177
5222
|
"200": {
|
|
3178
|
-
"$ref": "#/components/schemas/
|
|
5223
|
+
"$ref": "#/components/schemas/ListWebhooksResponse"
|
|
3179
5224
|
},
|
|
3180
5225
|
"400": {
|
|
3181
5226
|
"type": "object",
|
|
@@ -3276,19 +5321,19 @@
|
|
|
3276
5321
|
}
|
|
3277
5322
|
},
|
|
3278
5323
|
{
|
|
3279
|
-
"name": "
|
|
3280
|
-
"description": "
|
|
3281
|
-
"method": "
|
|
3282
|
-
"path": "/api/
|
|
5324
|
+
"name": "webhook_register",
|
|
5325
|
+
"description": "Register an outbound webhook. The create response returns a one-time signing_secret.",
|
|
5326
|
+
"method": "POST",
|
|
5327
|
+
"path": "/api/webhooks",
|
|
3283
5328
|
"parameters": {
|
|
3284
|
-
"$ref": "#/components/schemas/
|
|
5329
|
+
"$ref": "#/components/schemas/CreateWebhookRequest"
|
|
3285
5330
|
},
|
|
3286
|
-
"domain": "
|
|
3287
|
-
"admin_required":
|
|
5331
|
+
"domain": "webhooks",
|
|
5332
|
+
"admin_required": false,
|
|
3288
5333
|
"agent_callable": true,
|
|
3289
5334
|
"responses": {
|
|
3290
|
-
"
|
|
3291
|
-
"$ref": "#/components/schemas/
|
|
5335
|
+
"201": {
|
|
5336
|
+
"$ref": "#/components/schemas/CreateWebhookResponse"
|
|
3292
5337
|
},
|
|
3293
5338
|
"400": {
|
|
3294
5339
|
"type": "object",
|
|
@@ -3389,20 +5434,19 @@
|
|
|
3389
5434
|
}
|
|
3390
5435
|
},
|
|
3391
5436
|
{
|
|
3392
|
-
"name": "
|
|
3393
|
-
"description": "
|
|
3394
|
-
"method": "
|
|
3395
|
-
"path": "/api/
|
|
5437
|
+
"name": "webhook_update",
|
|
5438
|
+
"description": "Update url, events, is_active, or headers on an existing webhook.",
|
|
5439
|
+
"method": "PUT",
|
|
5440
|
+
"path": "/api/webhooks/{webhook_id}",
|
|
3396
5441
|
"parameters": {
|
|
3397
|
-
"
|
|
3398
|
-
"properties": {}
|
|
5442
|
+
"$ref": "#/components/schemas/UpdateWebhookRequest"
|
|
3399
5443
|
},
|
|
3400
|
-
"domain": "
|
|
3401
|
-
"admin_required":
|
|
5444
|
+
"domain": "webhooks",
|
|
5445
|
+
"admin_required": false,
|
|
3402
5446
|
"agent_callable": true,
|
|
3403
5447
|
"responses": {
|
|
3404
5448
|
"200": {
|
|
3405
|
-
"$ref": "#/components/schemas/
|
|
5449
|
+
"$ref": "#/components/schemas/UpdateWebhookResponse"
|
|
3406
5450
|
},
|
|
3407
5451
|
"400": {
|
|
3408
5452
|
"type": "object",
|
|
@@ -3503,10 +5547,10 @@
|
|
|
3503
5547
|
}
|
|
3504
5548
|
},
|
|
3505
5549
|
{
|
|
3506
|
-
"name": "
|
|
3507
|
-
"description": "
|
|
3508
|
-
"method": "
|
|
3509
|
-
"path": "/api/webhooks",
|
|
5550
|
+
"name": "webhook_delete",
|
|
5551
|
+
"description": "Remove a registered webhook.",
|
|
5552
|
+
"method": "DELETE",
|
|
5553
|
+
"path": "/api/webhooks/{webhook_id}",
|
|
3510
5554
|
"parameters": {
|
|
3511
5555
|
"type": "object",
|
|
3512
5556
|
"properties": {}
|
|
@@ -3516,7 +5560,7 @@
|
|
|
3516
5560
|
"agent_callable": true,
|
|
3517
5561
|
"responses": {
|
|
3518
5562
|
"200": {
|
|
3519
|
-
"$ref": "#/components/schemas/
|
|
5563
|
+
"$ref": "#/components/schemas/DeleteWebhookResponse"
|
|
3520
5564
|
},
|
|
3521
5565
|
"400": {
|
|
3522
5566
|
"type": "object",
|
|
@@ -3577,6 +5621,9 @@
|
|
|
3577
5621
|
"error"
|
|
3578
5622
|
]
|
|
3579
5623
|
},
|
|
5624
|
+
"422": {
|
|
5625
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
5626
|
+
},
|
|
3580
5627
|
"429": {
|
|
3581
5628
|
"type": "object",
|
|
3582
5629
|
"properties": {
|
|
@@ -3614,19 +5661,20 @@
|
|
|
3614
5661
|
}
|
|
3615
5662
|
},
|
|
3616
5663
|
{
|
|
3617
|
-
"name": "
|
|
3618
|
-
"description": "
|
|
3619
|
-
"method": "
|
|
3620
|
-
"path": "/api/webhooks",
|
|
5664
|
+
"name": "webhook_deliveries",
|
|
5665
|
+
"description": "List delivery attempts for a webhook.",
|
|
5666
|
+
"method": "GET",
|
|
5667
|
+
"path": "/api/webhooks/{webhook_id}/deliveries",
|
|
3621
5668
|
"parameters": {
|
|
3622
|
-
"
|
|
5669
|
+
"type": "object",
|
|
5670
|
+
"properties": {}
|
|
3623
5671
|
},
|
|
3624
5672
|
"domain": "webhooks",
|
|
3625
5673
|
"admin_required": false,
|
|
3626
5674
|
"agent_callable": true,
|
|
3627
5675
|
"responses": {
|
|
3628
|
-
"
|
|
3629
|
-
"$ref": "#/components/schemas/
|
|
5676
|
+
"200": {
|
|
5677
|
+
"$ref": "#/components/schemas/ListDeliveriesResponse"
|
|
3630
5678
|
},
|
|
3631
5679
|
"400": {
|
|
3632
5680
|
"type": "object",
|
|
@@ -3727,19 +5775,20 @@
|
|
|
3727
5775
|
}
|
|
3728
5776
|
},
|
|
3729
5777
|
{
|
|
3730
|
-
"name": "
|
|
3731
|
-
"description": "
|
|
3732
|
-
"method": "
|
|
3733
|
-
"path": "/api/webhooks/
|
|
5778
|
+
"name": "webhook_events",
|
|
5779
|
+
"description": "List supported outbound event types.",
|
|
5780
|
+
"method": "GET",
|
|
5781
|
+
"path": "/api/webhooks/events",
|
|
3734
5782
|
"parameters": {
|
|
3735
|
-
"
|
|
5783
|
+
"type": "object",
|
|
5784
|
+
"properties": {}
|
|
3736
5785
|
},
|
|
3737
5786
|
"domain": "webhooks",
|
|
3738
5787
|
"admin_required": false,
|
|
3739
5788
|
"agent_callable": true,
|
|
3740
5789
|
"responses": {
|
|
3741
5790
|
"200": {
|
|
3742
|
-
"$ref": "#/components/schemas/
|
|
5791
|
+
"$ref": "#/components/schemas/ListEventTypesResponse"
|
|
3743
5792
|
},
|
|
3744
5793
|
"400": {
|
|
3745
5794
|
"type": "object",
|
|
@@ -3840,20 +5889,19 @@
|
|
|
3840
5889
|
}
|
|
3841
5890
|
},
|
|
3842
5891
|
{
|
|
3843
|
-
"name": "
|
|
3844
|
-
"description": "
|
|
3845
|
-
"method": "
|
|
3846
|
-
"path": "/api/
|
|
5892
|
+
"name": "policy_authorize",
|
|
5893
|
+
"description": "Evaluate a named policy against a user/context. Returns allow/deny with reasons.",
|
|
5894
|
+
"method": "POST",
|
|
5895
|
+
"path": "/api/policies/authorize",
|
|
3847
5896
|
"parameters": {
|
|
3848
|
-
"
|
|
3849
|
-
"properties": {}
|
|
5897
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__AuthorizeRequest"
|
|
3850
5898
|
},
|
|
3851
|
-
"domain": "
|
|
5899
|
+
"domain": "policies",
|
|
3852
5900
|
"admin_required": false,
|
|
3853
5901
|
"agent_callable": true,
|
|
3854
5902
|
"responses": {
|
|
3855
5903
|
"200": {
|
|
3856
|
-
"$ref": "#/components/schemas/
|
|
5904
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__AuthorizeResponse"
|
|
3857
5905
|
},
|
|
3858
5906
|
"400": {
|
|
3859
5907
|
"type": "object",
|
|
@@ -3954,20 +6002,20 @@
|
|
|
3954
6002
|
}
|
|
3955
6003
|
},
|
|
3956
6004
|
{
|
|
3957
|
-
"name": "
|
|
3958
|
-
"description": "List
|
|
6005
|
+
"name": "policy_admin_list",
|
|
6006
|
+
"description": "List policies (is_active filter).",
|
|
3959
6007
|
"method": "GET",
|
|
3960
|
-
"path": "/api/
|
|
6008
|
+
"path": "/api/policies",
|
|
3961
6009
|
"parameters": {
|
|
3962
6010
|
"type": "object",
|
|
3963
6011
|
"properties": {}
|
|
3964
6012
|
},
|
|
3965
|
-
"domain": "
|
|
3966
|
-
"admin_required":
|
|
6013
|
+
"domain": "policies",
|
|
6014
|
+
"admin_required": true,
|
|
3967
6015
|
"agent_callable": true,
|
|
3968
6016
|
"responses": {
|
|
3969
6017
|
"200": {
|
|
3970
|
-
"$ref": "#/components/schemas/
|
|
6018
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__ListPoliciesResponse"
|
|
3971
6019
|
},
|
|
3972
6020
|
"400": {
|
|
3973
6021
|
"type": "object",
|
|
@@ -4068,20 +6116,19 @@
|
|
|
4068
6116
|
}
|
|
4069
6117
|
},
|
|
4070
6118
|
{
|
|
4071
|
-
"name": "
|
|
4072
|
-
"description": "
|
|
4073
|
-
"method": "
|
|
4074
|
-
"path": "/api/
|
|
6119
|
+
"name": "policy_admin_create",
|
|
6120
|
+
"description": "Create a policy (name, effect, conditions, priority, metadata).",
|
|
6121
|
+
"method": "POST",
|
|
6122
|
+
"path": "/api/policies",
|
|
4075
6123
|
"parameters": {
|
|
4076
|
-
"
|
|
4077
|
-
"properties": {}
|
|
6124
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__CreatePolicyRequest"
|
|
4078
6125
|
},
|
|
4079
|
-
"domain": "
|
|
4080
|
-
"admin_required":
|
|
6126
|
+
"domain": "policies",
|
|
6127
|
+
"admin_required": true,
|
|
4081
6128
|
"agent_callable": true,
|
|
4082
6129
|
"responses": {
|
|
4083
|
-
"
|
|
4084
|
-
"$ref": "#/components/schemas/
|
|
6130
|
+
"201": {
|
|
6131
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__PolicyResponse"
|
|
4085
6132
|
},
|
|
4086
6133
|
"400": {
|
|
4087
6134
|
"type": "object",
|
|
@@ -4142,6 +6189,9 @@
|
|
|
4142
6189
|
"error"
|
|
4143
6190
|
]
|
|
4144
6191
|
},
|
|
6192
|
+
"422": {
|
|
6193
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
6194
|
+
},
|
|
4145
6195
|
"429": {
|
|
4146
6196
|
"type": "object",
|
|
4147
6197
|
"properties": {
|
|
@@ -4179,19 +6229,20 @@
|
|
|
4179
6229
|
}
|
|
4180
6230
|
},
|
|
4181
6231
|
{
|
|
4182
|
-
"name": "
|
|
4183
|
-
"description": "
|
|
4184
|
-
"method": "
|
|
4185
|
-
"path": "/api/policies/
|
|
6232
|
+
"name": "policy_admin_get",
|
|
6233
|
+
"description": "Fetch a single policy.",
|
|
6234
|
+
"method": "GET",
|
|
6235
|
+
"path": "/api/policies/{policy_id}",
|
|
4186
6236
|
"parameters": {
|
|
4187
|
-
"
|
|
6237
|
+
"type": "object",
|
|
6238
|
+
"properties": {}
|
|
4188
6239
|
},
|
|
4189
6240
|
"domain": "policies",
|
|
4190
|
-
"admin_required":
|
|
6241
|
+
"admin_required": true,
|
|
4191
6242
|
"agent_callable": true,
|
|
4192
6243
|
"responses": {
|
|
4193
6244
|
"200": {
|
|
4194
|
-
"$ref": "#/components/schemas/
|
|
6245
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__PolicyResponse"
|
|
4195
6246
|
},
|
|
4196
6247
|
"400": {
|
|
4197
6248
|
"type": "object",
|
|
@@ -4292,20 +6343,19 @@
|
|
|
4292
6343
|
}
|
|
4293
6344
|
},
|
|
4294
6345
|
{
|
|
4295
|
-
"name": "
|
|
4296
|
-
"description": "
|
|
4297
|
-
"method": "
|
|
4298
|
-
"path": "/api/policies",
|
|
6346
|
+
"name": "policy_admin_update",
|
|
6347
|
+
"description": "Partial update of a policy.",
|
|
6348
|
+
"method": "PUT",
|
|
6349
|
+
"path": "/api/policies/{policy_id}",
|
|
4299
6350
|
"parameters": {
|
|
4300
|
-
"
|
|
4301
|
-
"properties": {}
|
|
6351
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__UpdatePolicyRequest"
|
|
4302
6352
|
},
|
|
4303
6353
|
"domain": "policies",
|
|
4304
6354
|
"admin_required": true,
|
|
4305
6355
|
"agent_callable": true,
|
|
4306
6356
|
"responses": {
|
|
4307
6357
|
"200": {
|
|
4308
|
-
"$ref": "#/components/schemas/
|
|
6358
|
+
"$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__PolicyResponse"
|
|
4309
6359
|
},
|
|
4310
6360
|
"400": {
|
|
4311
6361
|
"type": "object",
|
|
@@ -4406,19 +6456,22 @@
|
|
|
4406
6456
|
}
|
|
4407
6457
|
},
|
|
4408
6458
|
{
|
|
4409
|
-
"name": "
|
|
4410
|
-
"description": "
|
|
4411
|
-
"method": "
|
|
4412
|
-
"path": "/api/policies",
|
|
6459
|
+
"name": "policy_admin_delete",
|
|
6460
|
+
"description": "Delete a policy.",
|
|
6461
|
+
"method": "DELETE",
|
|
6462
|
+
"path": "/api/policies/{policy_id}",
|
|
4413
6463
|
"parameters": {
|
|
4414
|
-
"
|
|
6464
|
+
"type": "object",
|
|
6465
|
+
"properties": {}
|
|
4415
6466
|
},
|
|
4416
6467
|
"domain": "policies",
|
|
4417
6468
|
"admin_required": true,
|
|
4418
6469
|
"agent_callable": true,
|
|
4419
6470
|
"responses": {
|
|
4420
|
-
"
|
|
4421
|
-
"
|
|
6471
|
+
"200": {
|
|
6472
|
+
"type": "object",
|
|
6473
|
+
"additionalProperties": true,
|
|
6474
|
+
"title": "Response Delete Policy Api Policies Policy Id Delete"
|
|
4422
6475
|
},
|
|
4423
6476
|
"400": {
|
|
4424
6477
|
"type": "object",
|
|
@@ -4519,10 +6572,10 @@
|
|
|
4519
6572
|
}
|
|
4520
6573
|
},
|
|
4521
6574
|
{
|
|
4522
|
-
"name": "
|
|
4523
|
-
"description": "
|
|
6575
|
+
"name": "policy_admin_evaluations",
|
|
6576
|
+
"description": "List policy evaluation audit logs.",
|
|
4524
6577
|
"method": "GET",
|
|
4525
|
-
"path": "/api/policies/
|
|
6578
|
+
"path": "/api/policies/evaluations",
|
|
4526
6579
|
"parameters": {
|
|
4527
6580
|
"type": "object",
|
|
4528
6581
|
"properties": {}
|
|
@@ -4532,7 +6585,7 @@
|
|
|
4532
6585
|
"agent_callable": true,
|
|
4533
6586
|
"responses": {
|
|
4534
6587
|
"200": {
|
|
4535
|
-
"$ref": "#/components/schemas/
|
|
6588
|
+
"$ref": "#/components/schemas/EvaluationLogsResponse"
|
|
4536
6589
|
},
|
|
4537
6590
|
"400": {
|
|
4538
6591
|
"type": "object",
|
|
@@ -4633,19 +6686,20 @@
|
|
|
4633
6686
|
}
|
|
4634
6687
|
},
|
|
4635
6688
|
{
|
|
4636
|
-
"name": "
|
|
4637
|
-
"description": "
|
|
4638
|
-
"method": "
|
|
4639
|
-
"path": "/api/
|
|
6689
|
+
"name": "billing_status",
|
|
6690
|
+
"description": "Show current application billing-account resolution and redacted Stripe diagnostics.",
|
|
6691
|
+
"method": "GET",
|
|
6692
|
+
"path": "/api/admin/billing/status",
|
|
4640
6693
|
"parameters": {
|
|
4641
|
-
"
|
|
6694
|
+
"type": "object",
|
|
6695
|
+
"properties": {}
|
|
4642
6696
|
},
|
|
4643
|
-
"domain": "
|
|
6697
|
+
"domain": "billing",
|
|
4644
6698
|
"admin_required": true,
|
|
4645
6699
|
"agent_callable": true,
|
|
4646
6700
|
"responses": {
|
|
4647
6701
|
"200": {
|
|
4648
|
-
"$ref": "#/components/schemas/
|
|
6702
|
+
"$ref": "#/components/schemas/BillingStatusResponse"
|
|
4649
6703
|
},
|
|
4650
6704
|
"400": {
|
|
4651
6705
|
"type": "object",
|
|
@@ -4706,9 +6760,6 @@
|
|
|
4706
6760
|
"error"
|
|
4707
6761
|
]
|
|
4708
6762
|
},
|
|
4709
|
-
"422": {
|
|
4710
|
-
"$ref": "#/components/schemas/HTTPValidationError"
|
|
4711
|
-
},
|
|
4712
6763
|
"429": {
|
|
4713
6764
|
"type": "object",
|
|
4714
6765
|
"properties": {
|
|
@@ -4746,22 +6797,20 @@
|
|
|
4746
6797
|
}
|
|
4747
6798
|
},
|
|
4748
6799
|
{
|
|
4749
|
-
"name": "
|
|
4750
|
-
"description": "
|
|
4751
|
-
"method": "
|
|
4752
|
-
"path": "/api/
|
|
6800
|
+
"name": "billing_verify",
|
|
6801
|
+
"description": "Verify that the current application has usable Stripe secret and webhook configuration.",
|
|
6802
|
+
"method": "GET",
|
|
6803
|
+
"path": "/api/admin/billing/verify",
|
|
4753
6804
|
"parameters": {
|
|
4754
6805
|
"type": "object",
|
|
4755
6806
|
"properties": {}
|
|
4756
6807
|
},
|
|
4757
|
-
"domain": "
|
|
6808
|
+
"domain": "billing",
|
|
4758
6809
|
"admin_required": true,
|
|
4759
6810
|
"agent_callable": true,
|
|
4760
6811
|
"responses": {
|
|
4761
6812
|
"200": {
|
|
4762
|
-
"
|
|
4763
|
-
"additionalProperties": true,
|
|
4764
|
-
"title": "Response Delete Policy Api Policies Policy Id Delete"
|
|
6813
|
+
"$ref": "#/components/schemas/BillingVerifyResponse"
|
|
4765
6814
|
},
|
|
4766
6815
|
"400": {
|
|
4767
6816
|
"type": "object",
|
|
@@ -4822,9 +6871,6 @@
|
|
|
4822
6871
|
"error"
|
|
4823
6872
|
]
|
|
4824
6873
|
},
|
|
4825
|
-
"422": {
|
|
4826
|
-
"$ref": "#/components/schemas/HTTPValidationError"
|
|
4827
|
-
},
|
|
4828
6874
|
"429": {
|
|
4829
6875
|
"type": "object",
|
|
4830
6876
|
"properties": {
|
|
@@ -4862,20 +6908,19 @@
|
|
|
4862
6908
|
}
|
|
4863
6909
|
},
|
|
4864
6910
|
{
|
|
4865
|
-
"name": "
|
|
4866
|
-
"description": "
|
|
4867
|
-
"method": "
|
|
4868
|
-
"path": "/api/
|
|
6911
|
+
"name": "billing_attach",
|
|
6912
|
+
"description": "Bind the current application to an existing active Stripe billing account.",
|
|
6913
|
+
"method": "POST",
|
|
6914
|
+
"path": "/api/admin/billing/attach",
|
|
4869
6915
|
"parameters": {
|
|
4870
|
-
"
|
|
4871
|
-
"properties": {}
|
|
6916
|
+
"$ref": "#/components/schemas/BillingAttachRequest"
|
|
4872
6917
|
},
|
|
4873
|
-
"domain": "
|
|
6918
|
+
"domain": "billing",
|
|
4874
6919
|
"admin_required": true,
|
|
4875
6920
|
"agent_callable": true,
|
|
4876
6921
|
"responses": {
|
|
4877
6922
|
"200": {
|
|
4878
|
-
"$ref": "#/components/schemas/
|
|
6923
|
+
"$ref": "#/components/schemas/BillingAttachResponse"
|
|
4879
6924
|
},
|
|
4880
6925
|
"400": {
|
|
4881
6926
|
"type": "object",
|
|
@@ -5277,6 +7322,9 @@
|
|
|
5277
7322
|
"error"
|
|
5278
7323
|
]
|
|
5279
7324
|
},
|
|
7325
|
+
"422": {
|
|
7326
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
7327
|
+
},
|
|
5280
7328
|
"429": {
|
|
5281
7329
|
"type": "object",
|
|
5282
7330
|
"properties": {
|
|
@@ -5317,7 +7365,7 @@
|
|
|
5317
7365
|
"name": "issue_report_get",
|
|
5318
7366
|
"description": "Fetch a single issue report.",
|
|
5319
7367
|
"method": "GET",
|
|
5320
|
-
"path": "/api/v1/issue-reports/{
|
|
7368
|
+
"path": "/api/v1/issue-reports/{issue_report_id}",
|
|
5321
7369
|
"parameters": {
|
|
5322
7370
|
"type": "object",
|
|
5323
7371
|
"properties": {}
|
|
@@ -5326,6 +7374,9 @@
|
|
|
5326
7374
|
"admin_required": false,
|
|
5327
7375
|
"agent_callable": true,
|
|
5328
7376
|
"responses": {
|
|
7377
|
+
"200": {
|
|
7378
|
+
"$ref": "#/components/schemas/IssueReportOut"
|
|
7379
|
+
},
|
|
5329
7380
|
"400": {
|
|
5330
7381
|
"type": "object",
|
|
5331
7382
|
"properties": {
|
|
@@ -5385,6 +7436,9 @@
|
|
|
5385
7436
|
"error"
|
|
5386
7437
|
]
|
|
5387
7438
|
},
|
|
7439
|
+
"422": {
|
|
7440
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
7441
|
+
},
|
|
5388
7442
|
"429": {
|
|
5389
7443
|
"type": "object",
|
|
5390
7444
|
"properties": {
|
|
@@ -5425,15 +7479,17 @@
|
|
|
5425
7479
|
"name": "issue_report_update_note",
|
|
5426
7480
|
"description": "Update the note on an existing report.",
|
|
5427
7481
|
"method": "PATCH",
|
|
5428
|
-
"path": "/api/v1/issue-reports/{
|
|
7482
|
+
"path": "/api/v1/issue-reports/{issue_report_id}",
|
|
5429
7483
|
"parameters": {
|
|
5430
|
-
"
|
|
5431
|
-
"properties": {}
|
|
7484
|
+
"$ref": "#/components/schemas/UpdateIssueReportRequest"
|
|
5432
7485
|
},
|
|
5433
7486
|
"domain": "issue_reporting",
|
|
5434
7487
|
"admin_required": false,
|
|
5435
7488
|
"agent_callable": true,
|
|
5436
7489
|
"responses": {
|
|
7490
|
+
"200": {
|
|
7491
|
+
"$ref": "#/components/schemas/IssueReportOut"
|
|
7492
|
+
},
|
|
5437
7493
|
"400": {
|
|
5438
7494
|
"type": "object",
|
|
5439
7495
|
"properties": {
|
|
@@ -5493,6 +7549,9 @@
|
|
|
5493
7549
|
"error"
|
|
5494
7550
|
]
|
|
5495
7551
|
},
|
|
7552
|
+
"422": {
|
|
7553
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
7554
|
+
},
|
|
5496
7555
|
"429": {
|
|
5497
7556
|
"type": "object",
|
|
5498
7557
|
"properties": {
|
|
@@ -5533,15 +7592,17 @@
|
|
|
5533
7592
|
"name": "issue_report_reply",
|
|
5534
7593
|
"description": "Reply to an issue; creates a child report and reopens the linked support case.",
|
|
5535
7594
|
"method": "POST",
|
|
5536
|
-
"path": "/api/v1/issue-reports/{
|
|
7595
|
+
"path": "/api/v1/issue-reports/{issue_report_id}/replies",
|
|
5537
7596
|
"parameters": {
|
|
5538
|
-
"
|
|
5539
|
-
"properties": {}
|
|
7597
|
+
"$ref": "#/components/schemas/ReplyIssueReportRequest"
|
|
5540
7598
|
},
|
|
5541
7599
|
"domain": "issue_reporting",
|
|
5542
7600
|
"admin_required": false,
|
|
5543
7601
|
"agent_callable": true,
|
|
5544
7602
|
"responses": {
|
|
7603
|
+
"201": {
|
|
7604
|
+
"$ref": "#/components/schemas/IssueReportOut"
|
|
7605
|
+
},
|
|
5545
7606
|
"400": {
|
|
5546
7607
|
"type": "object",
|
|
5547
7608
|
"properties": {
|
|
@@ -5601,6 +7662,9 @@
|
|
|
5601
7662
|
"error"
|
|
5602
7663
|
]
|
|
5603
7664
|
},
|
|
7665
|
+
"422": {
|
|
7666
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
7667
|
+
},
|
|
5604
7668
|
"429": {
|
|
5605
7669
|
"type": "object",
|
|
5606
7670
|
"properties": {
|