{
"openapi": "3.0.0",
"$schema": "http:iot.bzh/download/openapi/schema-3.0/default-schema.json",
"info": {
"description": "",
"title": "low-can",
"version": "4.0",
"x-binding-c-generator": {
"api": "low-can",
"version": 2,
"prefix": "",
"postfix": "",
"start": null ,
"onevent": null,
"init": "init_binding",
"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 subscribed 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"}
}
}
}
}
}