aboutsummaryrefslogtreecommitdiffstats
path: root/low-can-binding/binding
{
	"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"}
				}
			}
		}
	}
}