{ "openapi": "3.0.0", "$schema": "http://iot.bzh/download/openapi/schema-3.0/default-schema.json", "info": { "description": "", "title": "signals-composer-service", "version": "4.0", "x-binding-c-generator": { "api": "signal-composer", "version": 2, "prefix": "", "postfix": "", "start": null , "onevent": null, "preinit": "loadConf", "init": "execConf", "scope": "", "private": false } }, "servers": [ { "url": "ws://{host}:{port}/api/monitor", "description": "Signals composer API connected to low level AGL services", "variables": { "host": { "default": "localhost" }, "port": { "default": "1234" } }, "x-afb-events": [ { "$ref": "#/components/schemas/afb-event" } ] } ], "components": { "schemas": { "afb-reply": { "$ref": "#/components/schemas/afb-reply-v2" }, "afb-event": { "$ref": "#/components/schemas/afb-event-v2" }, "afb-reply-v2": { "title": "Generic response.", "type": "object", "required": [ "jtype", "request" ], "properties": { "jtype": { "type": "string", "const": "afb-reply" }, "request": { "type": "object", "required": [ "status" ], "properties": { "status": { "type": "string" }, "info": { "type": "string" }, "token": { "type": "string" }, "uuid": { "type": "string" }, "reqid": { "type": "string" } } }, "response": { "type": "object" } } }, "afb-event-v2": { "type": "object", "required": [ "jtype", "event" ], "properties": { "jtype": { "type": "string", "const": "afb-event" }, "event": { "type": "string" }, "data": { "type": "object" } } } }, "x-permissions": { "addObjects": { "permission": "urn:AGL:permission::platform:composer:addObjects" } }, "responses": { "200": { "description": "A complex object array response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/afb-reply" } } } } } }, "paths": { "/subscribe": { "description": "Subscribe to a signal object", "parameters": [ { "in": "query", "name": "event", "required": false, "schema": { "type": "string" } } ], "responses": { "200": {"$ref": "#/components/responses/200"} } }, "/unsubscribe": { "description": "Unsubscribe previously suscribed signal objects.", "parameters": [ { "in": "query", "name": "event", "required": false, "schema": { "type": "string" } } ], "responses": { "200": {"$ref": "#/components/responses/200"} } }, "/get": { "description": "Get informations about a resource or element", "responses": { "200": {"$ref": "#/components/responses/200"} } }, "/list": { "description": "List all signals already configured", "responses": { "200": {"$ref": "#/components/responses/200"} } }, "/addObjects": { "description": "Load new objects from an additional config file designated by JSON argument with the key 'file'.", "get": { "x-permissions": { "$ref": "#/components/x-permissions/addObjects" }, "responses": { "200": {"$ref": "#/components/responses/200"} } }, "parameters": [ { "in": "query", "name": "path", "required": true, "schema": { "type": "string"} } ] } } }