4529 lines
131 KiB
JSON
4529 lines
131 KiB
JSON
{
|
|
"openapi": "3.0.4",
|
|
"info": {
|
|
"title": "KArtSell.Host",
|
|
"version": "1.0"
|
|
},
|
|
"paths": {
|
|
"/api/shadow-runs": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesShadowRunInitiateShadowRunEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.ShadowRun.InitiateShadowRunRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.ShadowRun.InitiateShadowRunResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/shadow-runs/{RunId}": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesShadowRunGetShadowRunPollingEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.ShadowRun.GetShadowRunPollingRequest"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.ShadowRun.GetShadowRunPollingRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.ShadowRun.GetShadowRunResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/portfolio/{portfolioId}/rebalance": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesPortfolioTriggerRebalanceEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.RebalanceRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.RebalanceResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/portfolio/{portfolioId}/composition": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesPortfolioGetCompositionEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.PortfolioCompositionResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/portfolio/{portfolioId}/risk": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesPortfolioGetRiskMetricsEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.RiskMetricsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/portfolio/{portfolioId}/stress": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesPortfolioTriggerStressTestEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.TriggerStressTestRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.StressTestResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/portfolio/{portfolioId}/alerts": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesPortfolioGetAlertsEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.GetAlertsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/dashboard/risk": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesPortfolioGetRiskDashboardEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.DashboardResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/observability/metrics": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesObservabilityGetMetricsEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Observability.EmptyRequest"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Observability.EmptyRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Observability.MetricsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/market/ingest": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesMarketDataTriggerIngestionEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.MarketData.IngestionRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.MarketData.IngestionResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/market/ingest/{jobId}": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesMarketDataGetIngestionStatusEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.MarketData.IngestionStatusResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/health/ping": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellHostFeaturesHealthPingEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Health.PingRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Health.PingResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/sell-decisions": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsSellDecisionCreateSellDecisionEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.SellDecision.CreateSellDecisionRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.SellDecision.CreateSellDecisionResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsSellDecisionListSellDecisionsEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.SellDecision.ListSellDecisionsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/sell-decisions/{id}/execute": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsSellDecisionExecuteSellDecisionEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.SellDecision.ExecuteSellDecisionRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.SellDecision.ExecuteSellDecisionResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/v1/approval-queue/{id}/reject": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesRejectModelEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.RejectModel.Request"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.RejectModel.Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/v1/observability/metrics": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesGetObservabilityMetricsEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.GetObservabilityMetrics.Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/internal/v1/model-operations/plan": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesGetModelOperationsPlanEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.GetModelOperationsPlan.Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/model-operations/feedback-loop": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesGetModelFeedbackLoopEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.GetModelFeedbackLoop.Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/v1/approval-queue": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesGetApprovalQueueEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.GetApprovalQueue.Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/api/v1/approval-queue/{id}/approve": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesApproveModelEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApproveModel.Request"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApproveModel.Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/approvals": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesApprovalWorkflowCreateApprovalEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.CreateApprovalResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesApprovalWorkflowGetApprovalsEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.GetApprovalsRequest"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.GetApprovalsRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.GetApprovalsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/approvals/{id}/propose": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesApprovalWorkflowProposeForReviewEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ProposeForReviewResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/approvals/{id}/activate": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesApprovalWorkflowActivateApprovalEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ActivateApprovalResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/approvals/{id}": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesApprovalWorkflowGetApprovalByIdEndpoint",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ApprovalDetailResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/approvals/{id}/approve": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsFeaturesApprovalWorkflowApproveApprovalEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ApproveApprovalRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ApproveApprovalResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/audit/events": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsComplianceQueryAuditEventsEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Compliance.QueryAuditEventsRequest"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Compliance.QueryAuditEventsRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Compliance.QueryAuditEventsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/compliance/gdpr-request": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesModelOperationsComplianceSubmitGdprRequestEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Compliance.SubmitGdprRequestDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Compliance.GdprRequestResponseDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/internal/v1/research/sell-policy/evaluate": {
|
|
"post": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesSignalEngineFeaturesEvaluateResearchSellPolicyEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.SignalEngine.Features.EvaluateResearchSellPolicy.Request"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.SignalEngine.Features.EvaluateResearchSellPolicy.Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/health/live": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Authentication required",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Permission denied",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/health/ready": {
|
|
"get": {
|
|
"tags": [
|
|
"KArtSell.Host"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Authentication required",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Permission denied",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/internal/v1/signal-decisions": {
|
|
"post": {
|
|
"tags": [
|
|
"SignalEngine"
|
|
],
|
|
"description": "\r\nProblemDetails types: validation, business-rule, conflict, permission, not-found, integration, system.\r\nCorrelation: X-Correlation-Id.",
|
|
"operationId": "KArtSellModulesSignalEngineFeaturesGenerateSellDecisionEndpoint",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.SignalEngine.Features.GenerateSellDecision.Request"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.SignalEngine.Features.GenerateSellDecision.Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden"
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Resource not found",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Concurrency or business conflict",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Unexpected server error",
|
|
"content": {
|
|
"application/problem+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"KArtSell.Host.Features.Health.PingRequest": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Health.PingResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.MarketData.IngestionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dataSource": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"fromDate": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"toDate": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.MarketData.IngestionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"jobId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"expectedRowCount": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"queuedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.MarketData.IngestionStatusResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"jobId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"rowsProcessed": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"rowsFailed": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"rowsSkipped": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"completedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
},
|
|
"durationSeconds": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"nullable": true
|
|
},
|
|
"errorMessage": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Observability.BatchSlaMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"totalJobs": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"onTimeJobs": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"slaPercentage": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"averageCompleteionTime": {
|
|
"type": "string",
|
|
"format": "date-span"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Observability.DataQualityMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"quarantinedJobs": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"totalJobs": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"qualityPercentage": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"recentErrors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Observability.DuplicateDetectionMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"duplicatesDetected": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"duplicatesResolved": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"lastCheckAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Observability.EmptyRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_placeholder": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Observability.MetricsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"batchSla": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Observability.BatchSlaMetrics"
|
|
},
|
|
"dataQuality": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Observability.DataQualityMetrics"
|
|
},
|
|
"duplicates": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Observability.DuplicateDetectionMetrics"
|
|
},
|
|
"reconciliation": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Observability.ReconciliationMetrics"
|
|
},
|
|
"modelDrift": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Observability.ModelDriftMetrics"
|
|
},
|
|
"measuredAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Observability.ModelDriftMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"baselineSharpe": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"currentSharpe": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"driftPercentage": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Observability.ReconciliationMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"breaksDetected": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"breaksResolved": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"pendingBreaks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.AlertDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"alertId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"thresholdType": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"severity": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"currentValue": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"threshold": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"triggeredAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.AlertDto08": {
|
|
"type": "object",
|
|
"properties": {
|
|
"alertId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"threshold": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"currentValue": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"severity": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.DashboardResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"portfolioId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"snapshotDate": {
|
|
"type": "string",
|
|
"format": "date"
|
|
},
|
|
"portfolio": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.PortfolioDto"
|
|
},
|
|
"riskMetrics": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.RiskMetricsDto08"
|
|
},
|
|
"stressResults": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.StressResultDto08"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"activeAlerts": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.AlertDto08"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"healthScore": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"riskInsights": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"lastUpdate": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.GetAlertsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"activeAlerts": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.AlertDto"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"resolvedAlerts": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.AlertDto"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.PortfolioCompositionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"portfolioId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"snapshotDate": {
|
|
"type": "string",
|
|
"format": "date"
|
|
},
|
|
"positions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.PositionDto"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"totalValue": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"lastUpdate": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.PortfolioDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"totalValue": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"positions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.PositionSummaryDto"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.PositionDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"symbol": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"quantity": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"marketPrice": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"marketValue": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"weightPercent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.PositionSummaryDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"symbol": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"quantity": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"marketPrice": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"marketValue": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"weightPercent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.RebalanceRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"targetWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.TargetWeightDto"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"driftThreshold": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.RebalanceResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"jobId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"estimatedTradeCount": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"estimatedCost": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"correlationId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"queuedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.RiskMetricsDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"vaR95Amount": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"vaR95Percent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"sharpeRatio": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"sortinoRatio": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"volatility": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"topFivePercent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"hirschmanIndex": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"maxSinglePosition": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.RiskMetricsDto08": {
|
|
"type": "object",
|
|
"properties": {
|
|
"vaR95": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"sharpeRatio": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"sortinoRatio": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"volatilityPercent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"topFivePercent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"maxPositionPercent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.RiskMetricsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"portfolioId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"calculationDate": {
|
|
"type": "string",
|
|
"format": "date"
|
|
},
|
|
"metrics": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.Portfolio.RiskMetricsDto"
|
|
},
|
|
"qualityScore": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"lastUpdate": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.StressResultDto08": {
|
|
"type": "object",
|
|
"properties": {
|
|
"scenario": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"portfolioLossPercent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"stressedVAR": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.StressTestResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stressTestId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"scenarioId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"correlationId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"queuedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.TargetWeightDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"symbol": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"targetPercent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.Portfolio.TriggerStressTestRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"scenarioId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.ShadowRun.GetShadowRunPollingRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"runId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.ShadowRun.GetShadowRunResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"runId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"modelId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"completedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
},
|
|
"metrics": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.ShadowRun.ShadowRunMetricsDto"
|
|
},
|
|
"validationGates": {
|
|
"$ref": "#/components/schemas/KArtSell.Host.Features.ShadowRun.ValidationGatesDto"
|
|
},
|
|
"errorMessage": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.ShadowRun.InitiateShadowRunRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"modelId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"windowStart": {
|
|
"type": "string",
|
|
"format": "date"
|
|
},
|
|
"windowEnd": {
|
|
"type": "string",
|
|
"format": "date"
|
|
},
|
|
"phaseFilter": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.ShadowRun.InitiateShadowRunResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"runId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"jobId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"estimatedSeconds": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.ShadowRun.ShadowRunMetricsDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"totalReturn": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"sharpeRatio": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"calmurRatio": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"maximumDrawdown": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"winRate": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"probOfBacktestOverfit": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"dailySharePercentile": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"tradingDays": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Host.Features.ShadowRun.ValidationGatesDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pboUnder20": {
|
|
"type": "boolean"
|
|
},
|
|
"dsrAbove95": {
|
|
"type": "boolean"
|
|
},
|
|
"costTwoXPositive": {
|
|
"type": "boolean"
|
|
},
|
|
"allGatesPassed": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Compliance.AuditEventDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"eventType": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"entityType": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"entityId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"actorEmail": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"actorRole": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"eventAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"result": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"additionalProperties": { },
|
|
"nullable": true
|
|
},
|
|
"evidenceLinks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"publishedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"correlationId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Compliance.GdprRequestResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gdprTrackingId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"estimatedCompletion": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Compliance.QueryAuditEventsRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entityId": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"nullable": true
|
|
},
|
|
"eventType": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"dateFrom": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
},
|
|
"dateTo": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
},
|
|
"actorEmail": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"skip": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"take": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Compliance.QueryAuditEventsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Compliance.AuditEventDto"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"skip": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"take": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"pages": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"readOnly": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Compliance.SubmitGdprRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"customerId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"reason": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ActivateApprovalResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"activatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ApprovalDetailResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"modelId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"createdBy": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"justification": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"effectiveAt": {
|
|
"type": "string",
|
|
"format": "date"
|
|
},
|
|
"approvedBy": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"approvedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
},
|
|
"approvalNotes": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"activatedBy": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"activatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
},
|
|
"evidence": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.EvidenceDto"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ApprovalDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"modelId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"createdBy": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"justification": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ApproveApprovalRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"approvalNotes": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"evidence": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.EvidenceDto"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ApproveApprovalResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"approvedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.CreateApprovalResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.EvidenceDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"comment": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.GetApprovalsRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"modelId": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"nullable": true
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"offset": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.GetApprovalsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ApprovalDto"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"pages": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApprovalWorkflow.ProposeForReviewResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApproveModel.Request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"runId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"approvalReason": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.ApproveModel.Response": {
|
|
"type": "object",
|
|
"properties": {
|
|
"approvalId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"runId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"approvedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.GetApprovalQueue.ApprovalItem": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"runId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"modelId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"approvedBy": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"nullable": true
|
|
},
|
|
"approvalReason": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"rejectionReason": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"requestedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"approvedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
},
|
|
"rejectedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.GetApprovalQueue.Response": {
|
|
"type": "object",
|
|
"properties": {
|
|
"queue": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.GetApprovalQueue.ApprovalItem"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.GetModelFeedbackLoop.ModelFeedbackStageResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"order": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"stageCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"operationCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"automationBoundary": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"requiredEvidence": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"humanDecision": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"failureAction": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.GetModelFeedbackLoop.Response": {
|
|
"type": "object",
|
|
"properties": {
|
|
"boundary": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"stages": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.GetModelFeedbackLoop.ModelFeedbackStageResponse"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.GetModelOperationsPlan.OperationItem": {
|
|
"type": "object",
|
|
"properties": {
|
|
"operationCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"cadence": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"automationMode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"queue": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"primaryOwner": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"secondaryOwner": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"requiredEvidence": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"output": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"gate": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.GetModelOperationsPlan.Response": {
|
|
"type": "object",
|
|
"properties": {
|
|
"algorithmStatus": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"orderCapability": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"modelMutationBoundary": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"operations": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Features.GetModelOperationsPlan.OperationItem"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.GetObservabilityMetrics.Response": {
|
|
"type": "object",
|
|
"properties": {
|
|
"batchSla": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Observability.BatchSlaMetrics"
|
|
},
|
|
"dataQuality": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Observability.DataQualityMetrics"
|
|
},
|
|
"duplicates": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Observability.DuplicateDetectionMetrics"
|
|
},
|
|
"reconciliation": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Observability.ReconciliationMetrics"
|
|
},
|
|
"modelDrift": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.Observability.ModelDriftMetrics"
|
|
},
|
|
"collectedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.RejectModel.Request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"runId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"rejectionReason": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Features.RejectModel.Response": {
|
|
"type": "object",
|
|
"properties": {
|
|
"approvalId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"runId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"rejectedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Observability.BatchSlaMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"queueDepth": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"averageCompletionTimeSeconds": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"retryRate": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Observability.DataQualityMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"quarantineCount": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"ageMinutes": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"topFailureReasons": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Observability.DuplicateDetectionMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"constraintViolationCount": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"lastDetected": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Observability.ModelDriftMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"oosPerformanceValue": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"baselineComparison": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"degradationFlag": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.Observability.ReconciliationMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"completenessPercentage": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"auditRecordsCount": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.SellDecision.CreateSellDecisionRequest": {
|
|
"required": [
|
|
"justification"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"modelId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"windowStart": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"windowEnd": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"thresholdPbo": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"thresholdDsr": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"justification": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.SellDecision.CreateSellDecisionResponse": {
|
|
"required": [
|
|
"status"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"decisionId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"modelId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"correlationId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.SellDecision.ExecuteSellDecisionRequest": {
|
|
"required": [
|
|
"justification"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"approvalId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"executionPrice": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"quantity": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"justification": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.SellDecision.ExecuteSellDecisionResponse": {
|
|
"required": [
|
|
"kisOrderId",
|
|
"status"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"decisionId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"executionId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"kisOrderId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"submittedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"correlationId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.SellDecision.ListSellDecisionsResponse": {
|
|
"required": [
|
|
"decisions"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"decisions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.ModelOperations.SellDecision.SellDecisionDto"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"offset": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.ModelOperations.SellDecision.SellDecisionDto": {
|
|
"required": [
|
|
"status"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"decisionId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"modelId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"pboScore": {
|
|
"type": "number",
|
|
"format": "double",
|
|
"nullable": true
|
|
},
|
|
"dsrMetric": {
|
|
"type": "number",
|
|
"format": "double",
|
|
"nullable": true
|
|
},
|
|
"sellPriority": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"nullable": true
|
|
},
|
|
"targetQuantity": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"nullable": true
|
|
},
|
|
"targetPrice": {
|
|
"type": "number",
|
|
"format": "double",
|
|
"nullable": true
|
|
},
|
|
"approvalId": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"nullable": true
|
|
},
|
|
"executionId": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"nullable": true
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"correlationId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.SignalEngine.Domain.PolicyDisposition": {
|
|
"enum": [
|
|
0,
|
|
1,
|
|
2
|
|
],
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"KArtSell.Modules.SignalEngine.Domain.PolicyTraceEntry": {
|
|
"type": "object",
|
|
"properties": {
|
|
"policyId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"priority": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"disposition": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.SignalEngine.Domain.PolicyDisposition"
|
|
},
|
|
"reasonCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"requestedSellRatioOfLot": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"appliedSellRatioOfLot": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"strategicCoreClampApplied": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.SignalEngine.Features.EvaluateResearchSellPolicy.Request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"positionLotId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"cycleId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"evidenceId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"datasetId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"modelVersion": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"configVersion": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"codeSha": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"asOf": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"publishedAtCutoff": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"currentSecurityPortfolioWeight": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"currentLotPortfolioWeight": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"strategicCoreFloorWeight": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"hardImpairmentApproved": {
|
|
"type": "boolean"
|
|
},
|
|
"capitalFloorBreached": {
|
|
"type": "boolean"
|
|
},
|
|
"survivalSellRatioOfLot": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"gapBelowFloorAtr": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"consecutiveCloseBreaches": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"cooldownSatisfied": {
|
|
"type": "boolean"
|
|
},
|
|
"concentrationSellRatioOfLot": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"opportunityEdgeLowerBound": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"opportunitySellRatioOfLot": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.SignalEngine.Features.EvaluateResearchSellPolicy.Response": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"sellRatioOfLot": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"targetSecurityPortfolioWeightAfter": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"policyId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"reasonCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"decisionContractVersion": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"policyTraceSchemaVersion": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"reentryEligible": {
|
|
"type": "boolean"
|
|
},
|
|
"policyTrace": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.SignalEngine.Domain.PolicyTraceEntry"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"evidenceStatus": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.SignalEngine.Features.GenerateSellDecision.Request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"positionLotId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"asOf": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"KArtSell.Modules.SignalEngine.Features.GenerateSellDecision.Response": {
|
|
"type": "object",
|
|
"properties": {
|
|
"decisionId": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"action": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"sellRatioOfLot": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"targetSecurityPortfolioWeightAfter": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"policyId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"reasonCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"evidenceId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"datasetId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"modelVersion": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"configVersion": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"codeSha": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"decisionContractVersion": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"policyTraceSchemaVersion": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"reentryEligible": {
|
|
"type": "boolean"
|
|
},
|
|
"policyTrace": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KArtSell.Modules.SignalEngine.Domain.PolicyTraceEntry"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"replayed": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"Microsoft.AspNetCore.Mvc.ProblemDetails": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"status": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"nullable": true
|
|
},
|
|
"detail": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"instance": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": { }
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
{
|
|
"name": "KArtSell.Host"
|
|
},
|
|
{
|
|
"name": "SignalEngine"
|
|
}
|
|
]
|
|
} |