{
  "service": "adafruit_io",
  "displayName": "Adafruit IO",
  "categories": [
    "Data",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Adafruit IO Key",
      "placeholder": "ADAFRUIT_IO_KEY",
      "description": "Adafruit IO API key sent in the X-AIO-Key header. View or regenerate it from your Adafruit IO account page: https://io.adafruit.com/."
    }
  ],
  "homepageUrl": "https://io.adafruit.com/",
  "actions": [
    {
      "id": "adafruit_io.create_feed_data",
      "service": "adafruit_io",
      "name": "create_feed_data",
      "description": "Create a new data point on an Adafruit IO feed.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 1,
            "description": "The Adafruit IO username. Defaults to the connected account username.",
            "pattern": "\\S"
          },
          "feedKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Adafruit IO feed key.",
            "pattern": "\\S"
          },
          "value": {
            "anyOf": [
              {
                "type": "string",
                "description": "A string feed value."
              },
              {
                "type": "number",
                "description": "A numeric feed value."
              },
              {
                "type": "boolean",
                "description": "A boolean feed value."
              }
            ],
            "description": "The data value to send to the feed."
          },
          "createdAt": {
            "type": "string",
            "description": "The creation timestamp to attach to the data point.",
            "format": "date-time"
          },
          "lat": {
            "type": "number",
            "description": "The latitude value to attach to the data point."
          },
          "lon": {
            "type": "number",
            "description": "The longitude value to attach to the data point."
          },
          "ele": {
            "type": "number",
            "description": "The elevation value to attach to the data point."
          },
          "epoch": {
            "type": "number",
            "description": "The epoch timestamp to attach to the data point."
          }
        },
        "additionalProperties": false,
        "required": [
          "feedKey",
          "value"
        ],
        "description": "The input payload for creating an Adafruit IO feed data point."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Adafruit IO data point id."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The feed data value."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "feedId": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The feed id associated with this data point."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "groupId": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The group id associated with this data point."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expiration": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data point expiration value when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lat": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The latitude value when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lon": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The longitude value when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ele": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The elevation value when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "completedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The completion timestamp when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The creation timestamp when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "updatedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The update timestamp when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdEpoch": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The creation timestamp as an epoch value."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw data point object returned by Adafruit IO."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Adafruit IO feed data point."
          }
        },
        "additionalProperties": false,
        "description": "The Adafruit IO created data point response."
      }
    },
    {
      "id": "adafruit_io.get_current_user",
      "service": "adafruit_io",
      "name": "get_current_user",
      "description": "Get the current Adafruit IO user for the connected API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require any input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The Adafruit IO user id."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "username": {
                "type": "string",
                "description": "The Adafruit IO username."
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The display name for the Adafruit IO user."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "color": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Adafruit IO profile color."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "timeZone": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user's configured time zone."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user creation timestamp."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "updatedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user update timestamp."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw user object returned by Adafruit IO."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Adafruit IO user."
          }
        },
        "additionalProperties": false,
        "description": "The current Adafruit IO user response."
      }
    },
    {
      "id": "adafruit_io.get_feed",
      "service": "adafruit_io",
      "name": "get_feed",
      "description": "Get one Adafruit IO feed by feed key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 1,
            "description": "The Adafruit IO username. Defaults to the connected account username.",
            "pattern": "\\S"
          },
          "feedKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Adafruit IO feed key.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "feedKey"
        ],
        "description": "The input payload for selecting an Adafruit IO feed."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "feed": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The Adafruit IO feed id."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "key": {
                "type": "string",
                "description": "The Adafruit IO feed key."
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The feed name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The feed description."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "unitType": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The feed unit type."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "unitSymbol": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The feed unit symbol."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "visibility": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The feed visibility value."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastValue": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The latest feed value when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The feed status when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "history": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether feed history is enabled."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "enabled": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the feed is enabled."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The feed creation timestamp."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "updatedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The feed update timestamp."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw feed object returned by Adafruit IO."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Adafruit IO feed."
          }
        },
        "additionalProperties": false,
        "description": "The Adafruit IO feed response."
      }
    },
    {
      "id": "adafruit_io.list_feed_data",
      "service": "adafruit_io",
      "name": "list_feed_data",
      "description": "List data points for an Adafruit IO feed.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 1,
            "description": "The Adafruit IO username. Defaults to the connected account username.",
            "pattern": "\\S"
          },
          "feedKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Adafruit IO feed key.",
            "pattern": "\\S"
          },
          "startTime": {
            "type": "string",
            "description": "Return records created after this timestamp.",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Return records created before this timestamp.",
            "format": "date-time"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of data records to return."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "value",
                "lat",
                "lon",
                "ele",
                "id",
                "created_at"
              ],
              "description": "One feed data field to include in the Adafruit IO response."
            },
            "description": "The data fields to include in each returned record.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "feedKey"
        ],
        "description": "The input payload for listing Adafruit IO feed data points."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Adafruit IO data point id."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "value": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The feed data value."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "feedId": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The feed id associated with this data point."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "groupId": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The group id associated with this data point."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "expiration": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The data point expiration value when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lat": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The latitude value when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lon": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The longitude value when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "ele": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The elevation value when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "completedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The completion timestamp when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The creation timestamp when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "updatedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The update timestamp when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdEpoch": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The creation timestamp as an epoch value."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw data point object returned by Adafruit IO."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Adafruit IO feed data point."
            },
            "description": "The data points returned by Adafruit IO."
          }
        },
        "additionalProperties": false,
        "description": "The Adafruit IO feed data list response."
      }
    },
    {
      "id": "adafruit_io.list_feeds",
      "service": "adafruit_io",
      "name": "list_feeds",
      "description": "List Adafruit IO feeds for a username.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 1,
            "description": "The Adafruit IO username. Defaults to the connected account username.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for selecting an Adafruit IO account username."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "feeds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The Adafruit IO feed id."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "key": {
                  "type": "string",
                  "description": "The Adafruit IO feed key."
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The feed name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The feed description."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "unitType": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The feed unit type."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "unitSymbol": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The feed unit symbol."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "visibility": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The feed visibility value."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastValue": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The latest feed value when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The feed status when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "history": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether feed history is enabled."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "enabled": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the feed is enabled."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The feed creation timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "updatedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The feed update timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw feed object returned by Adafruit IO."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Adafruit IO feed."
            },
            "description": "The feeds returned by Adafruit IO."
          }
        },
        "additionalProperties": false,
        "description": "The Adafruit IO feeds response."
      }
    }
  ]
}
