{ "openapi": "3.0.0", "$schema": "http:iot.bzh/download/openapi/schema-3.0/default-schema.json", "info": { "description": "", "title": "low-level-can-service", "version": "4.0", "x-binding-c-generator": { "api": "low-can", "version": 2, "prefix": "", "postfix": "", "start": null , "onevent": null, "init": "initv2", "scope": "", "private": false } }, "servers": [ { "url": "ws://{host}:{port}/api/monitor", "description": "Low level CAN API.", "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": { "monitor": { "permission": "urn:AGL:permission:low-can:public:monitor" }, "write": { "permission": "urn:AGL:permission::platform:can:write " } }, "responses": { "200": { "description": "A complex object array response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/afb-reply" } } } } } }, "paths": { "/subscribe": { "description": "Subscribe to CAN signals events", "parameters": [ { "in": "query", "name": "event", "required": false, "schema": { "type": "string" } } ], "responses": { "200": {"$ref": "#/components/responses/200"} } }, "/unsubscribe": { "description": "Unsubscribe previously suscribed signals.", "parameters": [ { "in": "query", "name": "event", "required": false, "schema": { "type": "string" } } ], "responses": { "200": {"$ref": "#/components/responses/200"} } }, "/get": { "description": "get a current value of CAN message", "parameters": [ { "in": "query", "name": "event", "required": false, "schema": { "type": "string" } } ], "responses": { "200": {"$ref": "#/components/responses/200"} } }, "/list": { "description": "get a supported CAN message list", "responses": { "200": {"$ref": "#/components/responses/200"} } }, "/auth": { "description": "Authenticate session to be raise Level Of Assurance.", "get": { "x-permissions": { "$ref": "#/components/x-permissions/write" }, "responses": { "200": {"$ref": "#/components/responses/200"} } } }, "/write": { "description": "Write a CAN messages to the CAN bus.", "get": { "x-permissions": { "LOA": 1 }, "parameters": [ { "in": "query", "name": "bus_name", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "frame", "required": false, "schema": { "type": "array" }, "parameters": [ { "in": "query", "name": "can_id", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "can_dlc", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "can_data", "required": false, "schema": { "type": "string" } } ] }, { "in": "query", "name": "signal_name", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "signal_value", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": {"$ref": "#/components/responses/200"} } } } } }