API: Overview

From Yombo
Jump to: navigation, search

Yombo API

See also

We’ve designed our API to be easily consumed by nearly any type of software, script, or application using standard HTTP calls. This allows a script to turn on/off device, poll device information, or change system configurations.

The Yombo API is organized around REST using the JSON API v1.1 specification. The resource URI's are predictable in what you should get back or action requested of the API.

Table of Contents

  • Quick Start
  • Various Topics
    • Authentication - All requests must be authorized and requires a user to login first.
    • API App Key - An API Application key is used to authorize an application. You'll need to request an API App Key if you wish to develop your own application.
    • Responses - Standard HTTP response codes to to signify various events.
    • Rate limiting - The rate at which calls the API are limited.
    • Common fields - Some fields are commonly returned in many results.
    • Result headers - Details about information included in the response headers.
  • Manage results
  • Core Resources
    • Categories - Used to organize various items within the Yombo infrastructure.
    • Commands - Explore available system commands that are available to gateway devices.
    • Devices - Devices that can be controlled by a gateway.
    • Device Types - Various device types, such as X10 devices, Insteon, etc.
      • DT Commands - Commands that are available to various devices.
      • DT Command Inputs - Inputs that can be provided with commands that are sent to various device types.
    • Gateways - Gateways defined by the current user.
      • Commands - Get a list of possible commands available for a gateway.
      • DNS - Manage gateway DNS.
      • Device Types - Get a list of possible device types for a gateway.
      • DT Commands - Get a list of possible commands for all device types for a gateway.
      • Input types - Get a list of possible input types a gateway.
      • Modules - Manage gateway modules.
      • Reset login credentials - Generate new gateway login credentials.
      • Users - Manage gateway users.
    • Input types - Specifies various type if input, such as strings, addresses, automation protocols, etc.
    • Locations - Devices can be placed into various logical locations for grouping and sorting. Helps to keep devices organized.
    • Modules - Modules defined within the Yombo system.
    • Module Device Types
    • Nodes - Nodes store various data. They are used by modules to store extended data, or by the Yombo desktop app to store the menu interface data.
    • Variable - Overview of variables.
      • Variable Groups - Variable groups help organize variable fields.
      • Variable Fields - Variable fields define what items a user can set for device types, modules, and others.
      • Variable Data - Stores the actual user supplied data.
  • Other resources
    • Users - Lookup users by email or by user_id.