> For the complete documentation index, see [llms.txt](https://developer.fotokite.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.fotokite.com/fotokite-api/notifications.md).

# Notifications

## Get system notifications

> Returns all current active notifications. Can be subscribed via a WebSocket connection.<br>

```json
{"openapi":"3.0.4","info":{"title":"Fotokite API","version":"1.0.0"},"servers":[{"url":"http://192.168.2.100:3128/api","description":"API service running on the system"},{"url":"http://{hostname_or_ip}/api","description":"Unencrypted API anywhere, for development use","variables":{"hostname_or_ip":{"default":"localhost:3128"}}},{"url":"https://{hostname_or_ip}/api","description":"Encrypted API accessible from outside the Sigma network","variables":{"hostname_or_ip":{"default":"fotokite-sigma.local"}}},{"url":"https://{gsname}.sigma.fotokite-system.com/api","description":"Hostname used for TLS certificates. The API is not reachable there, unless a local DNS override is set.","variables":{"gsname":{"default":"G2628RH"}}}],"security":[{"TokenAuth":["read"]}],"components":{"securitySchemes":{"TokenAuth":{"description":"Plugin authentication using Bearer token. For more details, see [Fotokite API Documentation](https://developer.fotokite.com/~/changes/46/getting-started#authentication).\n","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"http://192.168.2.100:3128/api/v1/auth/token/request","scopes":{"read":"Grants access to retrieve system data and information.","control":"Allows sending commands to control the system.","can_override":"Allows to make `handoff/control/override` call to override current controlling client.","experimental":"Enables access to experimental API features.","internal":"Fotokite-internal functions. Not for third-party use."}}}}},"schemas":{"NotificationsObject":{"type":"object","description":"Notifications object","required":["notifications"],"properties":{"from_time":{"description":"The time from which notifications are sent (including the time point itself). In RFC3339 (section 5.6) format. This value typically comes from request query parameter. If request parameter is missed then only currently active notifications returned and `from_time` is missed. If too many notifications were requested then the value is set to the `end_time` of the first returned notification.\n","type":"string","format":"date-time"},"to_time":{"description":"Current system time up to which notifications were fetched (excluding the time point itself). In RFC3339 (section 5.6) format.","type":"string","format":"date-time"},"notifications":{"description":"Notifications array. If no notifications are registered in the time interval from `from_time` to `to_time` then the array is empty.","type":"array","items":{"$ref":"#/components/schemas/Notification"}}}},"Notification":{"type":"object","description":"One notification item","required":["severity","code","message","begin_time"],"properties":{"severity":{"$ref":"#/components/schemas/NotificationSeverity","description":"Notification severity"},"code":{"description":"Notification code. See the dictionary for all possible codes.","type":"integer"},"message":{"description":"Notification message. This is a human-readable message of the notification. It may contain parameters that are used in the notification texts.","type":"string"},"begin_time":{"description":"Notification begin time. This is the time point when the notification was initially detected. In RFC3339 (section 5.6) format.","type":"string","format":"date-time"},"end_time":{"description":"Notification end time. This is the time point when the notification was gone. In RFC3339 (section 5.6) format. If notification is still not gone then the property is absent.","type":"string","format":"date-time"},"parameters":{"description":"Notification parameters. This is a dictionary of key-value pairs that are used in the notification texts. The keys are defined in the notification code dictionary.\n","type":"object","additionalProperties":true}}},"NotificationSeverity":{"type":"string","description":"Notification severity enumeration. * `Info` - Something happened that is not an issue, but may be of interest * `Warning` - Something bad happened, but functionality is not affected * `Critical` - Something bad happened, some functionality is broken * `Fatal` - Something bad happened, system is not functional\n","enum":["Info","Warning","Critical","Fatal"]}}},"paths":{"/v1/notifications/state":{"get":{"tags":["Notifications"],"summary":"Get system notifications","description":"Returns all current active notifications. Can be subscribed via a WebSocket connection.\n","responses":{"200":{"description":"Success response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationsObject"}}}}}}}}}
```

## Get system notifications

> Returns system notifications. A notification is a temporary or permanent event that reflects the current system state. This could be an error state, an alert or a simple message. If the request parameter is empty, all currently active notifications will be returned. Every response contains to\_time time point. Up to this time point notifications are fetched. An event gets into the response, if the end\_time is not set or greater or equal to the to\_time. It is recommended to use this point for the next request to not miss any notification and to not request the same notifications multiple times.<br>

```json
{"openapi":"3.0.4","info":{"title":"Fotokite API","version":"1.0.0"},"servers":[{"url":"http://192.168.2.100:3128/api","description":"API service running on the system"},{"url":"http://{hostname_or_ip}/api","description":"Unencrypted API anywhere, for development use","variables":{"hostname_or_ip":{"default":"localhost:3128"}}},{"url":"https://{hostname_or_ip}/api","description":"Encrypted API accessible from outside the Sigma network","variables":{"hostname_or_ip":{"default":"fotokite-sigma.local"}}},{"url":"https://{gsname}.sigma.fotokite-system.com/api","description":"Hostname used for TLS certificates. The API is not reachable there, unless a local DNS override is set.","variables":{"gsname":{"default":"G2628RH"}}}],"security":[{"TokenAuth":["read"]}],"components":{"securitySchemes":{"TokenAuth":{"description":"Plugin authentication using Bearer token. For more details, see [Fotokite API Documentation](https://developer.fotokite.com/~/changes/46/getting-started#authentication).\n","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"http://192.168.2.100:3128/api/v1/auth/token/request","scopes":{"read":"Grants access to retrieve system data and information.","control":"Allows sending commands to control the system.","can_override":"Allows to make `handoff/control/override` call to override current controlling client.","experimental":"Enables access to experimental API features.","internal":"Fotokite-internal functions. Not for third-party use."}}}}},"schemas":{"NotificationsObject":{"type":"object","description":"Notifications object","required":["notifications"],"properties":{"from_time":{"description":"The time from which notifications are sent (including the time point itself). In RFC3339 (section 5.6) format. This value typically comes from request query parameter. If request parameter is missed then only currently active notifications returned and `from_time` is missed. If too many notifications were requested then the value is set to the `end_time` of the first returned notification.\n","type":"string","format":"date-time"},"to_time":{"description":"Current system time up to which notifications were fetched (excluding the time point itself). In RFC3339 (section 5.6) format.","type":"string","format":"date-time"},"notifications":{"description":"Notifications array. If no notifications are registered in the time interval from `from_time` to `to_time` then the array is empty.","type":"array","items":{"$ref":"#/components/schemas/Notification"}}}},"Notification":{"type":"object","description":"One notification item","required":["severity","code","message","begin_time"],"properties":{"severity":{"$ref":"#/components/schemas/NotificationSeverity","description":"Notification severity"},"code":{"description":"Notification code. See the dictionary for all possible codes.","type":"integer"},"message":{"description":"Notification message. This is a human-readable message of the notification. It may contain parameters that are used in the notification texts.","type":"string"},"begin_time":{"description":"Notification begin time. This is the time point when the notification was initially detected. In RFC3339 (section 5.6) format.","type":"string","format":"date-time"},"end_time":{"description":"Notification end time. This is the time point when the notification was gone. In RFC3339 (section 5.6) format. If notification is still not gone then the property is absent.","type":"string","format":"date-time"},"parameters":{"description":"Notification parameters. This is a dictionary of key-value pairs that are used in the notification texts. The keys are defined in the notification code dictionary.\n","type":"object","additionalProperties":true}}},"NotificationSeverity":{"type":"string","description":"Notification severity enumeration. * `Info` - Something happened that is not an issue, but may be of interest * `Warning` - Something bad happened, but functionality is not affected * `Critical` - Something bad happened, some functionality is broken * `Fatal` - Something bad happened, system is not functional\n","enum":["Info","Warning","Critical","Fatal"]}}},"paths":{"/v1/notifications/history":{"get":{"tags":["Notifications"],"summary":"Get system notifications","description":"Returns system notifications. A notification is a temporary or permanent event that reflects the current system state. This could be an error state, an alert or a simple message. If the request parameter is empty, all currently active notifications will be returned. Every response contains to_time time point. Up to this time point notifications are fetched. An event gets into the response, if the end_time is not set or greater or equal to the to_time. It is recommended to use this point for the next request to not miss any notification and to not request the same notifications multiple times.\n","parameters":[{"name":"from_time","in":"query","required":false,"description":"The time from which notifications will be sent (including the time point itself). In RFC3339 (section 5.6) format. If this parameter is not set then only currently active notifications will be returned.\n","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Success response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationsObject"}}}}}}}}}
```

## Get notifications dictionary

> Returns the notifications dictionary. The dictionary contains all possible notifications that can be sent by the Fotokite system. It is recommended to use this endpoint to get the list of all possible notifications and their texts to display them to the user.<br>

```json
{"openapi":"3.0.4","info":{"title":"Fotokite API","version":"1.0.0"},"servers":[{"url":"http://192.168.2.100:3128/api","description":"API service running on the system"},{"url":"http://{hostname_or_ip}/api","description":"Unencrypted API anywhere, for development use","variables":{"hostname_or_ip":{"default":"localhost:3128"}}},{"url":"https://{hostname_or_ip}/api","description":"Encrypted API accessible from outside the Sigma network","variables":{"hostname_or_ip":{"default":"fotokite-sigma.local"}}},{"url":"https://{gsname}.sigma.fotokite-system.com/api","description":"Hostname used for TLS certificates. The API is not reachable there, unless a local DNS override is set.","variables":{"gsname":{"default":"G2628RH"}}}],"security":[{"TokenAuth":["read"]}],"components":{"securitySchemes":{"TokenAuth":{"description":"Plugin authentication using Bearer token. For more details, see [Fotokite API Documentation](https://developer.fotokite.com/~/changes/46/getting-started#authentication).\n","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"http://192.168.2.100:3128/api/v1/auth/token/request","scopes":{"read":"Grants access to retrieve system data and information.","control":"Allows sending commands to control the system.","can_override":"Allows to make `handoff/control/override` call to override current controlling client.","experimental":"Enables access to experimental API features.","internal":"Fotokite-internal functions. Not for third-party use."}}}}},"schemas":{"NotificationDictionaryItem":{"type":"object","description":"Notification dictionary item object","required":["code","severity","message"],"properties":{"code":{"description":"Notification code","type":"integer"},"severity":{"$ref":"#/components/schemas/NotificationSeverity","description":"Notification severity"},"message":{"description":"Description message","type":"string"},"system_reaction":{"description":"System reaction message\n","type":"string"},"instructions":{"description":"User instructions message\n","type":"string"}}},"NotificationSeverity":{"type":"string","description":"Notification severity enumeration. * `Info` - Something happened that is not an issue, but may be of interest * `Warning` - Something bad happened, but functionality is not affected * `Critical` - Something bad happened, some functionality is broken * `Fatal` - Something bad happened, system is not functional\n","enum":["Info","Warning","Critical","Fatal"]}}},"paths":{"/v1/notifications/dictionary":{"get":{"tags":["Notifications"],"summary":"Get notifications dictionary","description":"Returns the notifications dictionary. The dictionary contains all possible notifications that can be sent by the Fotokite system. It is recommended to use this endpoint to get the list of all possible notifications and their texts to display them to the user.\n","responses":{"200":{"description":"Success response","content":{"application/json":{"schema":{"type":"array","description":"Notifications dictionary","items":{"$ref":"#/components/schemas/NotificationDictionaryItem"}}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.fotokite.com/fotokite-api/notifications.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
