{"openapi":"3.1.0","info":{"title":"VoiceCmd API","version":"0.1.0","description":"A fully local, brand-neutral voice-assistant command-glossary reference: command categories with phrasing patterns and examples, a real command classifier that flags missing required details, a troubleshooting reference, and a glossary of voice-assistant terms.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://voicecmd.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/voicecmd/docs"},"termsOfService":"https://connectorbay.com/voicecmd/terms"},"servers":[{"url":"https://voicecmd.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/voicecmd/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/command_categories":{"post":{"operationId":"command_categories","summary":"Every voice-command category this reference covers, with a short description and its trigger keywords —","description":"Every voice-command category this reference covers, with a short description and its trigger keywords —\n    timers/alarms/reminders, smart-home control, information queries, media control, calls & messaging, lists &\n    shopping, routines/scenes, and navigation & traffic. Brand-neutral: these are patterns shared across assistant\n    platforms, not one product's proprietary command set. Use for \"what kinds of voice commands are there\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"command_categoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/category_detail":{"post":{"operationId":"category_detail","summary":"Full detail for one command category: general phrasing patterns, example utterances, and practical tips for","description":"Full detail for one command category: general phrasing patterns, example utterances, and practical tips for\n    getting it recognized reliably. Use for \"how should I phrase a smart-home command\", \"give me examples of\n    reminder commands\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"A category id or name, e.g. 'timers_reminders', 'smart home control', 'media_control'.","title":"Category","type":"string"}},"required":["category"],"title":"category_detailArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/classify_command":{"post":{"operationId":"classify_command","summary":"Classify a raw command string into its most likely category and check whether it actually includes the","description":"Classify a raw command string into its most likely category and check whether it actually includes the\n    specific detail that category needs to succeed (a duration/time for timers, a device/room for smart-home, a\n    recipient for calls/messages, an item for lists, a destination for navigation) — flagging it as likely to fail\n    when that detail is missing, not just guessing. Use for \"is 'turn off' a complete command\", \"why might 'call'\n    on its own fail\", \"what category is 'remind me to call the dentist at 3pm'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"text":{"description":"A voice command as you'd say it, e.g. 'set a timer for 10 minutes' or 'turn on'.","minLength":1,"title":"Text","type":"string"}},"required":["text"],"title":"classify_commandArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/voice_troubleshoot":{"post":{"operationId":"voice_troubleshoot","summary":"Match a symptom description to the closest known failure mode and return its likely causes and concrete","description":"Match a symptom description to the closest known failure mode and return its likely causes and concrete\n    fixes — ambient noise, ambiguous phrasing, device pairing/network issues, multiple devices responding, false\n    wakes, and more. Use for \"why didn't it understand what I said\", \"why did two devices both respond\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symptom":{"description":"A short description of what went wrong, e.g. \"it didn't understand me\" or \"the wrong speaker responded\".","minLength":1,"title":"Symptom","type":"string"}},"required":["symptom"],"title":"voice_troubleshootArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/voice_troubleshoot_list":{"post":{"operationId":"voice_troubleshoot_list","summary":"The full troubleshooting reference: every known voice-command failure mode with its causes and fixes. Use","description":"The full troubleshooting reference: every known voice-command failure mode with its causes and fixes. Use\n    for \"give me a full voice-assistant troubleshooting checklist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"voice_troubleshoot_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/voice_glossary":{"post":{"operationId":"voice_glossary","summary":"Definitions of common voice-assistant terms — wake word, utterance, intent, slot/entity, far-field","description":"Definitions of common voice-assistant terms — wake word, utterance, intent, slot/entity, far-field\n    microphone, skill/routine, multi-turn conversation, barge-in, false wake, and more. Use for \"what does wake\n    word mean\", \"what's the difference between an intent and a slot\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"voice_glossaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search":{"post":{"operationId":"search","summary":"Free-text keyword search across command categories, the troubleshooting reference, and the glossary at","description":"Free-text keyword search across command categories, the troubleshooting reference, and the glossary at\n    once. Use for \"search for anything about volume\", \"find everything about false wakes\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Keyword to search for across categories, troubleshooting, and the glossary.","minLength":1,"title":"Query","type":"string"}},"required":["query"],"title":"searchArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}