An open API service indexing awesome lists of open source software.

https://github.com/michdo93/openhab-rest-api-client-libraries

Client libraries to access the REST API of openHAB.
https://github.com/michdo93/openhab-rest-api-client-libraries

Last synced: 5 months ago
JSON representation

Client libraries to access the REST API of openHAB.

Awesome Lists containing this project

README

          

# openHAB-REST-API-Client-Libraries
Client libraries to access the REST API of openHAB.

| REST endpoints | [Android-Java](https://github.com/Michdo93/android-java-openHAB-Client-Library) | [Android-Kotlin](https://github.com/Michdo93/android-kotlin-openHAB-Client-Library) | [C++](https://github.com/Michdo93/cpp-openHAB-Client-Library) | [C#](https://github.com/Michdo93/csharp-openHAB-Client-Library) | [Java](https://github.com/Michdo93/java-openHAB-Client-Library) | [JavaScript](https://github.com/Michdo93/JavaScript-openHAB-Client-Library) | [jQuery](https://github.com/Michdo93/jQuery-openHAB-Client-Library) | [NodeJS](https://github.com/Michdo93/NodeJS-openHAB-Client-Library) | [Python](https://github.com/Michdo93/Python-openHAB-Client-Library) |
| -------------- | ------------ | -------------- | --- | -- | ---- | ---------- | ------ | ------ | ------ |
| addons | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| audio | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| auth | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| bindings | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| channel-types | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| config-descriptions | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| discovery | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| events | :x: | :x: | :x: | :heavy_check_mark:| :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| habpanel | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| iconsets | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| inbox | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| items | :heavy_check_mark: | :x: | :x: | :heavy_check_mark:| :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| links | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| logging | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| module-types | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| persistence | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| profile-types | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| rules | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| services | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| sitemaps | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| systeminfo | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| templates | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| things | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| thing-types | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| transformations| :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| ui | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| uuid | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |
| voice | :x: | :x: | :x: | :x:| :x: | :x: | :x: | :x: | :x: |

## Endpoint description

| Element | Details |
|----------------|-------------------------------------------------------------------------------|
| Endpoint | / |
| HTTP Method | GET |
| Tags | "root" |
| Summary | "Gets information about the runtime, the API version and links to resources." |
| operationId | "getRoot" |
| Responses | 200: "OK" |
| Content | application/json |
| Schema | $ref: "#/components/schemas/RootBean" |

### addons

| Endpoint | Method | Tags | Summary | Operation ID | Parameters | Responses |
| ---------- | ------ | ------ | ------------------------------------------- | ------------ | ----------------------------------------------------------- | ----------------------------------- |
| /addons | GET | addons | Get all add-ons. | getAddons | Accept-Language (header)
type: string
serviceId (query)
type: string | 200 - OK
404 - Service not found |
| /addons/{addonId} | GET | addons | Get add-on with given ID | getAddonById | Accept-Language (header)
type: string
addonId (path)
type: string
serviceId (query)
type: string | 200 - OK
404 - Not found |
| /addons/services | GET | addons | Get all add-on types | getAddonTypes | Accept-Language (header)
type: string | 200 - OK |
| /addons/types | GET | addons | Get add-on services | getAddonServices | Accept-Language (header)
type: string
serviceId (query)
type: string | 200 - OK
404 - Service not found |
| /addons/{addonId}/install | POST | addons | Installs the add-on with the given ID. | installAddonById | addonId (path)
type: string
required: true
serviceId (query)
type: string | 200 - OK
404 - Not found |
| /addons/url/{url}/install | POST | addons | Installs the add-on from the given URL. | installAddonFromURL | url (path)
type: string
required: true | 200 - OK
400 - The given URL is malformed or not valid. |
| /addons/{addonId}/uninstall | POST | addons | Uninstalls the add-on with the given ID. | uninstallAddon | addonId (path)
type: string
required: true | 200 - OK
404 - Not found |

### audio

| Endpoint | Method | Tags | Summary | Operation ID | Responses |
| ------------------ | ------ | ----- | ----------------------------------------------------- | ------------------- | ----------------------------------------------------------------------------------------------- |
| /audio/defaultsink | GET | audio | Get the default sink if defined or the first available sink. | getAudioDefaultSink | 200 - OK
content: application/json
schema: $ref: "#/components/schemas/AudioSinkDTO"
404 - Sink not found |
| /audio/defaultsource | GET | audio | Get the default source if defined or the first available source. | getAudioDefaultSource | 200 - OK
content: application/json
schema: $ref: "#/components/schemas/AudioSourceDTO"
404 - Source not found |
| /audio/sinks | GET | audio | Get the list of all sinks. | getAudioSinks | 200 - OK
content: application/json
schema: type: array
items: $ref: "#/components/schemas/AudioSinkDTO" |
| /audio/sources | GET | audio | Get the list of all sources.| getAudioSources | 200 - OK
content: application/json
schema: type: array
items: $ref: "#/components/schemas/AudioSourceDTO" |

### auth

| Endpoint | Method | Tags | Summary | Operation ID | Request Body | Responses |
| ------------ | ------ | ----- | ------------------------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| /auth/logout | POST | auth | Delete the session associated with a refresh token. | deleteSession | content: application/x-www-form-urlencoded
schema: type: object
properties: refresh_token: type: string id: type: string | 200 - OK
401 - User is not authenticated
404 - User or refresh token not found |
| /auth/apitokens | GET | auth | List the API tokens associated to the authenticated user. | getApiTokens | 200 - OK
401 - User is not authenticated
404 - User not found |
| /auth/sessions | GET | auth | List the sessions associated to the authenticated user. | getSessionsForCurrentUser | 200 - OK
401 - User is not authenticated
404 - User not found |
| /auth/token | POST | auth | Get access and refresh tokens. | getOAuthToken | useCookie (query)
type: boolean | grant_type (form data)
type: string
code (form data)
type: string
redirect_uri (form data)
type: string
client_id (form data)
type: string
refresh_token (form data)
type: string
code_verifier (form data)
type: string | 200 - OK
400 - Invalid request parameters |
| /auth/apitokens/{name} | DELETE | auth | Revoke a specified API token associated to the authenticated user. | removeApiToken | name (path)
type: string | 200 - OK
401 - User is not authenticated
404 - User or API token not found |

### bindings

| Endpoint | Method | Tags | Summary | Operation ID | Parameters | Responses |
| ----------------------- | ------ | -------- | ----------------- | ------------ | ----------------------------------------- | ------------------------- |
| /bindings | GET | bindings | Get all bindings. | getBindings | Accept-Language (header)
type: string | 200 - OK
security: oauth2 |
| /bindings/{bindingId}/config | GET | bindings | Get binding configuration for given binding ID. | getBindingConfiguration | bindingId (path)
type: string | 200 - OK
404 - Binding does not exist
500 - Configuration can not be read due to internal error
security: oauth2 |
| /bindings/{bindingId}/config | PUT | bindings | Updates a binding configuration for given binding ID and returns the old configuration. | updateBindingConfiguration | bindingId (path)
type: string
requestBody (content)
type: object
additionalProperties (type)
type: object | 200 - OK
204 - No old configuration
404 - Binding does not exist
500 - Configuration can not be updated due to internal error
security: oauth2 |

### channel-types

| Endpoint | Method | Tags | Summary | Operation ID | Parameters | Responses |
| -------------------------------------- | ------ | --------------- | ------------------------------------------ | ----------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| /channel-types | GET | channel-types | Gets all available channel types. | getChannelTypes | Accept-Language (header)
type: string
prefixes (query)
type: string
description: filter UIDs by prefix (multiple comma-separated prefixes allowed, for example: 'system,mqtt') | 200 - OK
security: oauth2 |
| /channel-types/{channelTypeUID} | GET | channel-types | Gets channel type by UID. | getChannelTypeByUID | channelTypeUID (path)
type: string
description: channelTypeUID
required: true
Accept-Language (header)
type: string | 200 - Channel type with provided channelTypeUID does not exist.
404 - No content
security: oauth2 |
| /channel-types/{channelTypeUID}/linkableItemTypes | GET | channel-types | Gets the item types the given trigger channel type UID can be linked to. | getLinkableItemTypesByChannelTypeUID | channelTypeUID (path)
type: string
description: channelTypeUID
required: true
Accept-Language (header)
type: string | 200 - OK
content: application/json
schema: uniqueItems: true
type: array
items: type: string
204 - No content: channel type has no linkable items or is no trigger channel.
404 - Given channel type UID not found. | security: oauth2 |

### config-descriptions

| Endpoint | Method | Tags | Summary | Operation ID | Parameters | Responses |
| ------------------------ | ------ | --------------------- | -------------------------------------- | --------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| /config-descriptions | GET | config-descriptions | Gets all available config descriptions. | getConfigDescriptions | Accept-Language (header)
type: string
scheme (query)
type: string
description: scheme filter | 200 - OK
content: application/json
schema: type: array
items: $ref: "#/components/schemas/ConfigDescriptionDTO" | security: oauth2 |
| /config-descriptions/{uri} | GET | config-descriptions | Gets a config description by URI. | getConfigDescriptionByURI | Accept-Language (header)
type: string
uri (path)
type: string
description: uri | 200 - OK
content: application/json
schema: $ref: "#/components/schemas/ConfigDescriptionDTO"
400 - Invalid URI syntax
404 - Not found | security: oauth2 |

### discovery

| Endpoint | Method | Tags | Summary | Operation ID | Responses |
| ---------------------------------- | ------ | -------------- | ------------------------------------------ | --------------------------------- | --------------------------------------------------------------------------------------- |
| /discovery | GET | discovery | Gets all bindings that support discovery. | getBindingsWithDiscoverySupport | 200 - OK
content: application/json
schema: uniqueItems: true
type: array
items: type: string | security: oauth2 |
| /discovery/bindings/{bindingId}/scan | POST | discovery | Starts asynchronous discovery process for a binding and returns the timeout in seconds of the discovery operation. | scan | 200 - OK
content: text/plain
schema: type: integer
format: int32
security: oauth2 |

### events

| Endpoint | HTTP Method | Tags | Summary | operationId | Parameters | Responses |
|--------------------------|-------------|-------------|-------------------------------------------------------------|----------------------------------|---------------------------|-------------------------|
| /events | GET | "events" | Get all events. | "getEvents" | | 200: "OK" |
| | | | | | 400: "Topic is empty or contains invalid characters" |
| /events/states | GET | "events" | Initiates a new item state tracker connection | "initNewStateTacker" | | 200: "OK" |
| /events/states/{connectionId} | POST | "events" | Changes the list of items a SSE connection will receive state updates to. | "updateItemListForStateUpdates" | name: "connectionId" | 200: "OK" |
| | | | | | in: "path" | 404: "Unknown connectionId" |

### habpanel

| Endpoint | Method | Tags | Summary | Operation ID | Parameters | Responses |
| --------------------------------------- | ------ | --------- | ------------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| /habpanel/gallery/{galleryName}/widgets | GET | habpanel | Gets the list of widget gallery items. | getGalleryWidgetList | 0: name: "galleryName"
in: "path"
description: "gallery name e.g. 'community'"
required: true
schema: type: "string" | 200 - OK
content: application/json
schema: type: "array"
items: $ref: "#/components/schemas/GalleryWidgetsListItem"
404 - Unknown gallery |
| /habpanel/gallery/{galleryName}/widgets/{id} | GET | habpanel | Gets the details about a widget gallery item. | getGalleryWidgetsItem | 0: name: "galleryName"
in: "path"
description: "gallery name e.g. 'community'"
required: true
schema: type: "string"
1: name: "id"
in: "path"
description: "id within the gallery"
required: true
schema: type: "string" | 200 - OK
content: application/json
schema: $ref: "#/components/schemas/GalleryItem"
404 - Unknown gallery or gallery item not found |

### iconsets

| Endpoint | Method | Tags | Summary | Operation ID | Parameters | Responses |
| ----------- | ------ | --------- | ----------------- | ------------ | --------------------------------------------------------------- | ------------------------------------------------------------ |
| /iconsets | GET | iconsets | Gets all icon sets | getIconSets | 0: name: "Accept-Language"
in: "header"
description: "language"
schema: type: "string" | 200 - OK
content: application/json
schema: type: "array"
items: $ref: "#/components/schemas/IconSet" |

### inbox

| Endpoint | Method | Tags | Summary | Operation ID | Parameters | Request Body | Responses | Security |
| ----------------------- | ------ | ------ | ----------------------------------------------------------------- | --------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------------------- |
| /inbox/{thingUID}/approve | POST | inbox | Approves the discovery result by adding the thing to the registry. | approveInboxItemById | Accept-Language: header
thingUID: path (required)
newThingId: query (description: new thing ID) | content: text/plain
schema: type: string | 200 - OK
400 - Invalid new thing ID
404 - Thing unable to be approved
409 - No binding found that supports this thing | oauth2: admin |
| /inbox/{thingUID} | DELETE | inbox | Removes the discovery result from the inbox. | removeItemFromInbox | thingUID: path (required) | 200 - OK
404 - Discovery result not found in the inbox | oauth2: admin |
| /inbox | GET | inbox | Get all discovered things. | getDiscoveredInboxItems | 200 - OK
content: application/json
schema: array items: $ref: "#/components/schemas/DiscoveryResultDTO" | oauth2: admin |
| /inbox/{thingUID}/ignore | POST | inbox | Flags a discovery result as ignored. | flagInboxItemAsIgnored | 200 - OK | oauth2: admin |
| /inbox/{thingUID}/unignore | POST | inbox | Removes ignore flag from a discovery result. | removeIgnoreFlagOnInboxItem | 200 - OK | oauth2: admin |

### items

| Endpoint | HTTP Method | Tags | Summary | operationId | Parameters | Request Body | Responses | Security |
|-----------------------------------|-------------|----------|--------------------------------------------|------------------------|------------------------------------------|----------------|-------------------------------------------------------------------|-------------------|
| /items/{itemName}/members/{memberItemName} | PUT | "items" | "Adds a new member to a group item." | "addMemberToGroupItem" | name: "itemName" | | 200: "OK" | oauth2: "admin" |
| | | | | | in: "path" | | 404: "Item or member item not found or item is not of type group item." | |
| | | | | | description: "item name" | | 405: "Member item is not editable." | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "memberItemName" | | | |
| | | | | | in: "path" | | | |
| | | | | | description: "member item name" | | | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| /items/{itemname}/metadata/{namespace} | PUT | "items" | "Adds metadata to an item." | "addMetadataToItem" | name: "itemname" | | 200: "OK" | oauth2: "admin" |
| | | | | | in: "path" | | 201: "Created" | |
| | | | | | description: "item name" | | 400: "Metadata value empty." | |
| | | | | | required: true | | 404: "Item not found." | |
| | | | | | schema: type: "string" | | 405: "Metadata not editable." | |
| | | | | | | | | |
| | | | | | name: "namespace" | | | |
| | | | | | in: "path" | | | |
| | | | | | description: "namespace" | | | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| /items/{itemname}/tags/{tag} | PUT | "items" | "Adds a tag to an item." | "addTagToItem" | name: "itemname" | | 200: "OK" | oauth2: "admin" |
| | | | | | in: "path" | | | |
| | | | | | description: "item name" | | | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | 404: "Item not found." | |
| | | | | | | | 405: "Item not editable." | |
| /items/{itemname}/tags/{tag} | DELETE | "items" | "Removes a tag from an item." | "removeTagFromItem" | name: "itemname" | | 200: "OK" | oauth2: "admin" |
| | | | | | in: "path" | | | |
| | | | | | description: "item name" | | | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | 404: "Item not found." | |
| | | | | | | | 405: "Item not editable." | |
| /items/{itemname} | GET | "items" | "Gets a single item." | "getItemByName" | name: "Accept-Language" | | 200: "OK" | |
| | | | | | description: "language" | | 404: "Item not found" | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "metadata" | | | |
| | | | | | description: "metadata selector - a comma separated list or a regular expression (suppressed if no value given)" | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "recursive" | | | |
| | | | | | description: "get member items if the item is a group item" | | | |
| | | | | | schema: type: "boolean" | default: true | | |
| | | | | | | | | |
| | | | | | name: "itemname" | | | |
| | | | | | description: "item name" | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | 200: "OK" | |
| | | | | | content: application/json | schema: {...} | | |
| | | | | | | | | |
| | | | | | 404: "Item not found." | | | |
| | | | | | | | | |
| | | | | | 405: "Item not editable." | | | |
| | | | | | | | | |
| | | | | | oauth2: | | | |
| | | | | | 0: "admin" | | | |
| | | | | | | | | |
| /items | GET | "items" | "Get all available items." | "getItems" | name: "Accept-Language" | | 200: "OK" | |
| | | | | | description: "language" | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "type" | | | |
| | | | | | description: "item type filter" | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "tags" | | | |
| | | | | | description: "item tag filter" | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "metadata" | | | |
| | | | | | description: "metadata selector - a comma separated list or a regular expression (suppressed if no value given)" | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "recursive" | | | |
| | | | | | description: "get member items recursively" | | | |
| | | | | | schema: type: "boolean" | default: false | | |
| | | | | | | | | |
| | | | | | name: "fields" | | | |
| | | | | | description: "limit output to the given fields (comma separated)" | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | 200: "OK" | content: application/json | schema: {...} | |
| | | | | | | | | |
| /items | PUT | "items" | "Adds a list of items to the registry or updates the existing items." | | name: "Accept-Language" | | 200: "OK" | oauth2: "admin" |
| | | | | | description: "language" | | 400: "Payload is invalid." | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "itemname" | | | |
| | | | | | description: "item name" | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | 200: "OK" | content: */* | schema: {...} | |
| | | | | | | | | |
| | | | | | 405: "Item not editable." | | | |
| | | | | | | | | |
| | | | | | oauth2: | | | |
| | | | | | 0: "admin" | | | |
| | | | | | | | | |
| /items/{itemname}/state | GET | "items" | "Gets the state of an item." | "getItemState_1" | name: "itemname" | | 200: "OK" | |
| | | | | | in: "path" | | content: text/plain | |
| | | | | | description: "item name" | | schema: {...} | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | 404: "Item not found" | |
| /items/{itemname}/state | PUT | "items" | "Updates the state of an item." | "updateItemState" | name: "Accept-Language" | | 202: "Accepted" | |
| | | | | | in: "header" | | 400: "Item state null" | |
| | | | | | description: "language" | | 404: "Item not found" | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "itemname" | | | |
| | | | | | description: "item name" | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | | | 404: "Item not found" | |
| /items/{itemName}/semantic/{semanticClass} | GET | "items" | "Gets the item which defines the requested semantics of an item." | "getSemanticItem" | name: "Accept-Language" | | 200: "OK" | |
| | | | | | in: "header" | | 404: "Item not found" | |
| | | | | | description: "language" | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "itemName" | | | |
| | | | | | description: "item name" | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "semanticClass" | | | |
| | | | | | description: "semantic class" | required: true | | |
| | | | | | schema: type: "string" | | | |
| /items/metadata/purge | POST | "items" | "Remove unused/orphaned metadata." | "purgeDatabase" | | | 200: "OK" | oauth2: |
| | | | | | | | | 0: "admin" |

### links

| Endpoint | HTTP Method | Tags | Summary | operationId | Parameters | Request Body | Responses | Security |
|-----------------------------------|-------------|----------|------------------------------------------------|--------------------|------------------------------------------|----------------|-------------------------------|---------------|
| /links | GET | "links" | "Gets all available links." | "getItemLinks" | name: "channelUID" | | 200: "OK" | oauth2: |
| | | | | | in: "query" | | | 0: "admin" |
| | | | | | description: "filter by channel UID" | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "itemName" | | | |
| | | | | | description: "filter by item name" | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | | | 200: "OK" | |
| | | | | | content: application/json | schema: {...} | | |
| | | | | | | | | |
| | | | | | oauth2: | | | |
| | | | | | 0: "admin" | | | |
| /links/{itemName}/{channelUID} | GET | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| /links/{itemName}/{channelUID} | GET | "links" | "Retrieves an individual link." | "getItemLink" | name: "itemName" | | 200: "OK" | oauth2: 0: "admin" |
| | | | | | in: "path" | | 404: "Content does not match the path" | |
| | | | | | description: "item name" | | | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "channelUID" | | | |
| | | | | | description: "channel UID" | | | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| /links/{itemName}/{channelUID} | PUT | "links" | "Links an item to a channel." | "linkItemToChannel" | name: "itemName" | | 200: "OK" | oauth2: 0: "admin" |
| | | | | | in: "path" | | 400: "Content does not match the path" | |
| | | | | | description: "item name" | | 405: "Link is not editable" | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "channelUID" | | | |
| | | | | | description: "channel UID" | | | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| /links/{itemName}/{channelUID} | DELETE | "links" | "Unlinks an item from a channel." | "unlinkItemFromChannel" | name: "itemName" | | 200: "OK" | oauth2: 0: "admin" |
| | | | | | in: "path" | | 404: "Link not found." | |
| | | | | | description: "itemName" | | 405: "Link not editable." | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | name: "channelUID" | | | |
| | | | | | description: "channelUID" | | | |
| | | | | | required: true | | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| /links/purge | POST | "links" | "Remove unused/orphaned links." | "purgeDatabase_1" | | | 200: "OK" | oauth2: 0: "admin" |
| /links/{object} | DELETE | "links" | "Delete all links that refer to an item or thing." | "removeAllLinksForObject" | | | 200: "OK" | oauth2: 0: "admin" |

### logging

| Endpoint | Method | Tags | Summary | Operation ID | Parameters | Responses |
| --------------------- | ------ | -------- | ---------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------ |
| /logging/{loggerName} | GET | logging | Get a single logger. | getLogger | - name: loggerName
in: path
description: logger name
required: true
schema: {type: "string"} | 200 - OK
content: application/json
schema: $ref: "#/components/schemas/LoggerInfo"
security: 0: oauth2: 0: "admin" |
| /logging/{loggerName} | PUT | logging | Modify or add logger | putLogger | - name: loggerName
in: path
description: logger name
required: true
schema: {type: "string"} | 200 - OK
400 - Payload is invalid.
security: 0: oauth2: 0: "admin" |
| /logging/{loggerName} | DELETE | logging | Remove a single logger. | removeLogger | - name: loggerName
in: path
description: logger name
required: true
schema: {type: "string"} | 200 - OK
security: 0: oauth2: 0: "admin" |
| /logging | GET | logging | Get all loggers | getLogger_1 | 200 - OK
content: application/json
schema: $ref: "#/components/schemas/LoggerBean"
security: 0: oauth2: 0: "admin" |

### module-types

| Endpoint | Method | Tags | Summary | Operation ID | Parameters | Responses |
| --------------------- | ------ | ------------- | ---------------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| /module-types | GET | module-types | Get all available module types. | getModuleTypes | 0: name: "Accept-Language"
in: "header"
description: "language"
schema: type: "string"
1: name: "tags"
in: "query"
description: "tags for filtering"
schema: type: "string"
2: name: "type"
in: "query"
description: "filtering by action, condition or trigger"
schema: type: "string" | 200 - OK
content: application/json
schema: type: "array"
items: $ref: "#/components/schemas/ModuleTypeDTO" |
| /module-types/{moduleTypeUID} | GET | module-types | Gets a module type corresponding to the given UID. | getModuleTypeById | 0: name: "Accept-Language"
in: "header"
description: "language"
schema: type: "string"
1: name: "moduleTypeUID"
in: "path"
description: "moduleTypeUID"
required: true
schema: type: "string" | 200 - OK
content: application/json
schema: {…}
404 - Module Type corresponding to the given UID does not found. |

### persistence

| Endpoint | HTTP Method | Tags | Summary | operationId | Parameters | Request Body | Responses | Security |
|---------------------------------------|-------------|---------------|---------------------------------------------------------|----------------------------------------|--------------------------------------------------|-------------------------------|--------------------------------------|-----------------------|
| /persistence/items/{itemname} | GET | "persistence" | "Gets item persistence data from the persistence service." | "getItemDataFromPersistenceService" | name: "serviceId" | | 200: "OK" | |
| | | | | | in: "query" | | | |
| | | | | | description: "Id of the persistence service. If not provided the default service will be used" | required: false | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "itemname" | | | |
| | | | | | description: "The item name" | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "starttime" | in: "query" | | |
| | | | | | description: "Start time of the data to return. Will default to 1 day before endtime. [yyyy-MM-dd'T'HH:mm:ss.SSSZ]" | required: false | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "endtime" | in: "query" | | |
| | | | | | description: "End time of the data to return. Will default to current time. [yyyy-MM-dd'T'HH:mm:ss.SSSZ]" | required: false | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "page" | in: "query" | | |
| | | | | | description: "Page number of data to return. This parameter will enable paging." | required: false | | |
| | | | | | schema: type: "integer" | format: "int32" | | |
| | | | | | name: "pagelength" | in: "query" | | |
| | | | | | description: "The length of each page." | required: false | | |
| | | | | | schema: type: "integer" | format: "int32" | | |
| | | | | | name: "boundary" | in: "query" | | |
| | | | | | description: "Gets one value before and after the requested period." | required: false | | |
| | | | | | schema: type: "boolean" | | | |
| | | | | | | | | |
| | | | | | | | 200: "OK" | |
| | | | | | content: application/json | schema: {...} | | |
| /persistence/items/{itemname} | PUT | "persistence" | "Stores item persistence data into the persistence service." | "storeItemDataInPersistenceService" | name: "serviceId" | | 200: "OK" | oauth2: 0: "admin" |
| | | | | | in: "query" | | | |
| | | | | | description: "Id of the persistence service. If not provided the default service will be used" | required: false | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "itemname" | | | |
| | | | | | description: "The item name." | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "time" | in: "query" | | |
| | | | | | description: "Time of the data to be stored. Will default to current time. [yyyy-MM-dd'T'HH:mm:ss.SSSZ]" | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "state" | in: "query" | | |
| | | | | | description: "The state to store." | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | | | 200: "OK" | |
| /persistence/items/{itemname} | DELETE | "persistence" | "Deletes item persistence data from a specific persistence service in a given time range." | "deleteItemFromPersistenceService" | name: "serviceId" | | 200: "OK" | oauth2: 0: "admin" |
| | | | | | in: "query" | | | |
| | | | | | description: "Id of the persistence service." | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "itemname" | | | |
| | | | | | description: "The item name." | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "starttime" | in: "query" | | |
| | | | | | description: "Start of the time range to be deleted. [yyyy-MM-dd'T'HH:mm:ss.SSSZ]" | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | name: "endtime" | in: "query" | | |
| | | | | | description: "End of the time range to be deleted. [yyyy-MM-dd'T'HH:mm:ss.SSSZ]" | required: true | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | | | 200: "OK" | |
| | | | | | content: application/json | schema: {...} | | |
| | | | | | | | 400: "Invalid filter parameters" | |
| | | | | | | | 404: "Unknown persistence service" | |
| /persistence | GET | "persistence" | "Gets a list of persistence services." | "getPersistenceServices" | name: "Accept-Language" | | 200: "OK" | |
| | | | | | in: "header" | | | |
| | | | | | description: "language" | required: false | | |
| | | | | | schema: type: "string" | | | |
| | | | | | | | | |
| | | | | | | | 200: "OK" | |
| | | | | | content: application/json | schema: {...} | | |
| | | | | | | | |