summaryrefslogtreecommitdiffstats
path: root/ahl-binding/ahl-apidef.json
diff options
context:
space:
mode:
Diffstat (limited to 'ahl-binding/ahl-apidef.json')
-rw-r--r--ahl-binding/ahl-apidef.json448
1 files changed, 0 insertions, 448 deletions
diff --git a/ahl-binding/ahl-apidef.json b/ahl-binding/ahl-apidef.json
deleted file mode 100644
index 35ffae6..0000000
--- a/ahl-binding/ahl-apidef.json
+++ /dev/null
@@ -1,448 +0,0 @@
-{
- "openapi": "3.0.0",
- "info": {
- "description": "Audio high level API for AGL applications",
- "title": "audiohighlevel",
- "version": "1.0",
- "x-binding-c-generator": {
- "api": "ahl-4a",
- "version": 2,
- "prefix": "audiohlapi_",
- "postfix": "",
- "start": null,
- "onevent": "AhlOnEvent",
- "init": "AhlBindingInit",
- "scope": "",
- "private": false,
- "noconcurrency": false
- }
- },
- "servers": [
- {
- "url": "ws://{host}:{port}/api/audiohl",
- "description": "Audio high level API for AGL applications.",
- "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"
- }
- }
- },
- "endpoint_info": {
- "type": "object",
- "required": [ "endpoint_id", "type", "device_name", "device_uri" ],
- "properties": {
- "endpoint_id": { "type": "int" },
- "type": { "type": "enum" },
- "device_name": { "type": "string" },
- "device_uri_type": { "type": "string" }
- }
- },
- "stream_info": {
- "type": "object",
- "required": [ "stream_id", "state", "mute", "endpoint_info" ],
- "properties": {
- "stream_id": { "type": "int" },
- "state": { "type": "int" },
- "mute": { "type": "int" },
- "device_uri": { "type": "string" },
- "$ref": "#/components/schemas/endpoint_info"
- }
- }
- },
- "x-permissions": {
- "streamcontrol": { "permission": "urn:AGL:permission:audio:public:streamcontrol"},
- "endpointcontrol": { "permission": "urn:AGL:permission:audio:public:endpointcontrol"},
- "audiostream": { "permission": "urn:AGL:permission:audio:public:audiostream"},
- "soundevent": {"permission": "urn:AGL:permission:audio:public:soundevent"}
- },
- "responses": {
- "200": {
- "description": "A complex object array response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/afb-reply"
- }
- }
- }
- },
- "400": { "description": "Invalid arguments" }
- }
- },
- "paths": {
- "/get_endpoints": {
- "description": "Retrieve array of available audio endpoints",
- "get": {
- "parameters": [
- {
- "in": "query",
- "name": "audio_role",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "endpoint_type",
- "required": true,
- "schema": { "type": "enum" }
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/200",
- "response": {
- "description": "Array of endpoint info structures",
- "type": "array",
- "items": { "$ref": "#/components/schemas/endpoint_info"}
- }
- },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/stream_open": {
- "description": "Request opening a stream",
- "get": {
- "x-permissions": { "$ref": "#/components/x-permissions/audiostream" },
- "parameters": [
- {
- "in": "query",
- "name": "audio_role",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "endpoint_type",
- "required": true,
- "schema": { "type": "enum" }
- },
- {
- "in": "query",
- "name": "endpoint_id",
- "required": false,
- "schema": { "type": "int" }
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/200",
- "response": {
- "description": "Stream information structure",
- "$ref": "#/components/schemas/stream_info"
- }
- },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/stream_close": {
- "description": "Request closing a stream",
- "get": {
- "x-permissions": { "$ref": "#/components/x-permissions/audiostream" },
- "parameters": [
- {
- "in": "query",
- "name": "stream_id",
- "required": false,
- "schema": { "type": "int" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/set_stream_state": {
- "description": "Change stream active and/or mute state",
- "get": {
- "x-permissions": {
- "$ref": "#/components/x-permissions/streamcontrol"
- },
- "parameters": [
- {
- "in": "query",
- "name": "stream_id",
- "required": false,
- "schema": {"type": "int"}
- },
- {
- "in": "query",
- "name": "state",
- "required": false,
- "schema": {"type": "int"}
- },
- {
- "in": "query",
- "name": "mute",
- "required": false,
- "schema": {"type": "int"}
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/get_stream_info": {
- "description": "Retrieve stream information",
- "get": {
- "parameters": [
- {
- "in": "query",
- "name": "stream_id",
- "required": true,
- "schema": {"type": "int"}
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/200",
- "response": {
- "description": "Stream information structure",
- "$ref": "#/components/schemas/stream_info"
- }
- },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/volume": {
- "description": "Set or get volume on endpoint",
- "get": {
- "x-permissions": { "$ref": "#/components/x-permissions/endpointcontrol" },
- "parameters": [
- {
- "in": "query",
- "name": "endpoint_type",
- "required": true,
- "schema": { "type": "enum" }
- },
- {
- "in": "query",
- "name": "endpoint_id",
- "required": true,
- "schema": { "type": "int" }
- },
- {
- "in": "query",
- "name": "volume",
- "required": false,
- "schema": { "type": "string" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/get_endpoint_info": {
- "description": "Retrieve endpoint information including its properties",
- "get": {
- "parameters": [
- {
- "in": "query",
- "name": "endpoint_type",
- "required": true,
- "schema": { "type": "enum" }
- },
- {
- "in": "query",
- "name": "endpoint_id",
- "required": true,
- "schema": { "type": "int" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/property": {
- "description": "Set/get endpoint property value",
- "get": {
- "x-permissions": { "$ref": "#/components/x-permissions/endpointcontrol" },
- "parameters": [
- {
- "in": "query",
- "name": "endpoint_type",
- "required": true,
- "schema": { "type": "enum" }
- },
- {
- "in": "query",
- "name": "endpoint_id",
- "required": true,
- "schema": { "type": "int" }
- },
- {
- "in": "query",
- "name": "property_name",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "value",
- "required": false,
- "schema": { "type": "string" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/get_list_actions": {
- "description": "Retrieve a list of supported actions for a particular audio role",
- "get": {
- "parameters": [
- {
- "in": "query",
- "name": "audio_role",
- "required": true,
- "schema": { "type": "string" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/post_action": {
- "description": "Post sound or audio device related action event (extendable mechanism)",
- "get": {
- "x-permissions": { "$ref": "#/components/x-permissions/soundevent" },
- "parameters": [
- {
- "in": "query",
- "name": "action_name",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "audio_role",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "media_name",
- "required": false,
- "schema": { "type": "string"}
- },
- {
- "in": "query",
- "name": "action_context",
- "required": false,
- "schema": { "type": "object" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/event_subscription": {
- "description": "Subscribe to audio high level events",
- "get": {
- "parameters": [
- {
- "in": "query",
- "name": "events",
- "required": true,
- "schema": { "type": "array",
- "items": { "type": "string" }
- }
- },
- {
- "in": "query",
- "name": "subscribe",
- "required": true,
- "schema": { "type": "int" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- }
- }
-}