# Chat Controller

## POST /api/chat/messages

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/chat/messages":{"post":{"tags":["chat-controller"],"operationId":"sendMessage","requestBody":{"content":{"text/plain":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## POST /api/chat/messages/set-read

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/chat/messages/set-read":{"post":{"tags":["chat-controller"],"operationId":"setMessagesRead","parameters":[{"name":"messageIds","in":"query","required":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## POST /api/chat/message/set-read

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/chat/message/set-read":{"post":{"tags":["chat-controller"],"operationId":"setMessageRead","parameters":[{"name":"messageId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/chat/recipients

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/chat/recipients":{"get":{"tags":["chat-controller"],"operationId":"getMessageRecipients","parameters":[{"name":"arg0","in":"query","required":true,"schema":{"type":"object","properties":{"page":{"minimum":0,"type":"integer","format":"int32"},"size":{"minimum":1,"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"required":["username"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"chatMessageId":{"type":"string"},"username":{"type":"string"},"isRead":{"type":"boolean"},"chatMessage":{"required":["content"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"content":{"maxLength":4000,"minLength":0,"type":"string"}}}}}},"number":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}}}},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"sort":{"type":"array","items":{"type":"object","properties":{"$ref":"#/paths/~1api~1chat~1recipients/get/responses/200/content/*~1*/schema/properties/sort/items/properties"}}},"pageNumber":{"type":"integer","format":"int32"},"unpaged":{"type":"boolean"},"paged":{"type":"boolean"},"pageSize":{"type":"integer","format":"int32"}}},"empty":{"type":"boolean"}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/chat/messages/filter

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/chat/messages/filter":{"get":{"tags":["chat-controller"],"operationId":"getMessagesByFilter","parameters":[{"name":"arg0","in":"query","required":true,"schema":{"type":"object","properties":{"content":{"type":"string"},"offDateEn":{"type":"string","format":"date-time"},"onDateSt":{"type":"string","format":"date-time"},"from":{"type":"string"}}}},{"name":"arg1","in":"query","required":true,"schema":{"type":"object","properties":{"page":{"minimum":0,"type":"integer","format":"int32"},"size":{"minimum":1,"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"required":["content"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"content":{"maxLength":4000,"minLength":0,"type":"string"}}}},"number":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}}}},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"sort":{"type":"array","items":{"type":"object","properties":{"$ref":"#/paths/~1api~1chat~1messages~1filter/get/responses/200/content/*~1*/schema/properties/sort/items/properties"}}},"pageNumber":{"type":"integer","format":"int32"},"unpaged":{"type":"boolean"},"paged":{"type":"boolean"},"pageSize":{"type":"integer","format":"int32"}}},"empty":{"type":"boolean"}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```
