# Strategy Read Controller

## POST /strategies/find

> Returns user's root strategies

```json
{"openapi":"3.1.0","info":{"title":"Strategy Orchestrator API","version":"0.0.1"},"servers":[{"url":"/strategy-orchestrator"}],"security":[{"User token":[]}],"components":{"securitySchemes":{"User token":{"type":"http","scheme":"Bearer","bearerFormat":"JWT"}},"schemas":{"StrategyResponse":{"properties":{"strategyId":{"type":"string"},"version":{"type":"integer","format":"int32"},"engineVer":{"type":"integer","format":"int32"},"eventTime":{"type":"string","format":"date-time"},"state":{"type":"object","additionalProperties":{"type":"string"}},"uiParams":{"type":"object","additionalProperties":{"type":"object"}},"uiData":{"type":"string"}}},"ApiError":{"properties":{"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer","format":"int32"},"path":{"type":"string"},"errorCode":{"type":"string"},"error":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorWithFields"},"uniqueItems":true}}},"ErrorWithFields":{"properties":{"fields":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"rejectedValue":{"type":"string"},"description":{"type":"string","minLength":1},"firstField":{"type":"string"}},"required":["description","fields"]}}},"paths":{"/strategies/find":{"post":{"tags":["strategy-read-controller"],"summary":"Returns user's root strategies","operationId":"findRootStrategies","parameters":[{"name":"createdByUserId","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StrategyResponse"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}
```

## POST /strategies/find-families

> Returns user's strategies families

```json
{"openapi":"3.1.0","info":{"title":"Strategy Orchestrator API","version":"0.0.1"},"servers":[{"url":"/strategy-orchestrator"}],"security":[{"User token":[]}],"components":{"securitySchemes":{"User token":{"type":"http","scheme":"Bearer","bearerFormat":"JWT"}},"schemas":{"StrategyResponse":{"properties":{"strategyId":{"type":"string"},"version":{"type":"integer","format":"int32"},"engineVer":{"type":"integer","format":"int32"},"eventTime":{"type":"string","format":"date-time"},"state":{"type":"object","additionalProperties":{"type":"string"}},"uiParams":{"type":"object","additionalProperties":{"type":"object"}},"uiData":{"type":"string"}}},"ApiError":{"properties":{"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer","format":"int32"},"path":{"type":"string"},"errorCode":{"type":"string"},"error":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorWithFields"},"uniqueItems":true}}},"ErrorWithFields":{"properties":{"fields":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"rejectedValue":{"type":"string"},"description":{"type":"string","minLength":1},"firstField":{"type":"string"}},"required":["description","fields"]}}},"paths":{"/strategies/find-families":{"post":{"tags":["strategy-read-controller"],"summary":"Returns user's strategies families","operationId":"findFamilies","parameters":[{"name":"createdByUserId","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StrategyResponse"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}
```

## GET /strategies/find/{strategyAppId}

> Returns given strategy

```json
{"openapi":"3.1.0","info":{"title":"Strategy Orchestrator API","version":"0.0.1"},"servers":[{"url":"/strategy-orchestrator"}],"security":[{"User token":[]}],"components":{"securitySchemes":{"User token":{"type":"http","scheme":"Bearer","bearerFormat":"JWT"}},"schemas":{"StrategyResponse":{"properties":{"strategyId":{"type":"string"},"version":{"type":"integer","format":"int32"},"engineVer":{"type":"integer","format":"int32"},"eventTime":{"type":"string","format":"date-time"},"state":{"type":"object","additionalProperties":{"type":"string"}},"uiParams":{"type":"object","additionalProperties":{"type":"object"}},"uiData":{"type":"string"}}},"ApiError":{"properties":{"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer","format":"int32"},"path":{"type":"string"},"errorCode":{"type":"string"},"error":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorWithFields"},"uniqueItems":true}}},"ErrorWithFields":{"properties":{"fields":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"rejectedValue":{"type":"string"},"description":{"type":"string","minLength":1},"firstField":{"type":"string"}},"required":["description","fields"]}}},"paths":{"/strategies/find/{strategyAppId}":{"get":{"tags":["strategy-read-controller"],"summary":"Returns given strategy","operationId":"findStrategy","parameters":[{"name":"strategyAppId","in":"path","required":true,"schema":{"type":"string"}},{"name":"createdByUserId","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StrategyResponse"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}
```

## GET /strategies/find/root/{rootId}

> Returns all strategies with given root id

```json
{"openapi":"3.1.0","info":{"title":"Strategy Orchestrator API","version":"0.0.1"},"servers":[{"url":"/strategy-orchestrator"}],"security":[{"User token":[]}],"components":{"securitySchemes":{"User token":{"type":"http","scheme":"Bearer","bearerFormat":"JWT"}},"schemas":{"StrategyResponse":{"properties":{"strategyId":{"type":"string"},"version":{"type":"integer","format":"int32"},"engineVer":{"type":"integer","format":"int32"},"eventTime":{"type":"string","format":"date-time"},"state":{"type":"object","additionalProperties":{"type":"string"}},"uiParams":{"type":"object","additionalProperties":{"type":"object"}},"uiData":{"type":"string"}}},"ApiError":{"properties":{"timestamp":{"type":"string","format":"date-time"},"status":{"type":"integer","format":"int32"},"path":{"type":"string"},"errorCode":{"type":"string"},"error":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorWithFields"},"uniqueItems":true}}},"ErrorWithFields":{"properties":{"fields":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},"rejectedValue":{"type":"string"},"description":{"type":"string","minLength":1},"firstField":{"type":"string"}},"required":["description","fields"]}}},"paths":{"/strategies/find/root/{rootId}":{"get":{"tags":["strategy-read-controller"],"summary":"Returns all strategies with given root id","operationId":"findStrategyFamily","parameters":[{"name":"rootId","in":"path","required":true,"schema":{"type":"string"}},{"name":"createdByUserId","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StrategyResponse"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}
```
