{
  "service": "ambient_weather",
  "displayName": "Ambient Weather",
  "categories": [
    "Location",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "ambient_api_key",
      "description": "Ambient Weather API key sent as the apiKey query parameter. Create it from your Ambient Weather account page: https://ambientweather.net/account.",
      "extraFields": [
        {
          "key": "applicationKey",
          "label": "Application Key",
          "inputType": "password",
          "required": true,
          "secret": true,
          "placeholder": "ambient_application_key",
          "description": "Ambient Weather application key sent as the applicationKey query parameter. Create it from your Ambient Weather account page: https://ambientweather.net/account."
        }
      ]
    }
  ],
  "homepageUrl": "https://ambientweather.net/",
  "actions": [
    {
      "id": "ambient_weather.get_device_history",
      "service": "ambient_weather",
      "name": "get_device_history",
      "description": "Get recent historical observation records for an Ambient Weather device.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "macAddress": {
            "type": "string",
            "minLength": 1,
            "description": "The Ambient Weather device MAC address."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 288,
            "description": "The maximum number of historical records to return."
          },
          "endDate": {
            "anyOf": [
              {
                "type": "string",
                "description": "An ISO 8601 timestamp used as the history end cursor.",
                "format": "date-time"
              },
              {
                "type": "integer",
                "description": "A Unix millisecond timestamp used as the history end cursor."
              }
            ],
            "description": "The history end cursor as an ISO 8601 timestamp or Unix millisecond timestamp."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for reading Ambient Weather device history."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "device": {
            "type": "object",
            "properties": {
              "macAddress": {
                "type": "string",
                "description": "The Ambient Weather device MAC address."
              },
              "info": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The Ambient Weather device name."
                  }
                },
                "additionalProperties": true,
                "description": "Ambient Weather device information."
              },
              "lastData": {
                "type": "object",
                "properties": {
                  "dateutc": {
                    "type": "integer",
                    "description": "The observation timestamp in Unix milliseconds."
                  },
                  "date": {
                    "type": "string",
                    "description": "The observation local date string."
                  }
                },
                "additionalProperties": true,
                "description": "The latest Ambient Weather observation record."
              }
            },
            "additionalProperties": false,
            "description": "The Ambient Weather device that was resolved."
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "dateutc": {
                  "type": "integer",
                  "description": "The observation timestamp in Unix milliseconds."
                },
                "date": {
                  "type": "string",
                  "description": "The observation local date string."
                }
              },
              "additionalProperties": true,
              "description": "Ambient Weather observation fields returned by the upstream API."
            },
            "description": "Ambient Weather historical observation records."
          }
        },
        "additionalProperties": false,
        "description": "Ambient Weather historical observation records."
      }
    },
    {
      "id": "ambient_weather.get_latest_device_data",
      "service": "ambient_weather",
      "name": "get_latest_device_data",
      "description": "Get the latest observation record for an Ambient Weather device.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "macAddress": {
            "type": "string",
            "minLength": 1,
            "description": "The Ambient Weather device MAC address."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for reading the latest Ambient Weather device data."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "device": {
            "type": "object",
            "properties": {
              "macAddress": {
                "type": "string",
                "description": "The Ambient Weather device MAC address."
              },
              "info": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The Ambient Weather device name."
                  }
                },
                "additionalProperties": true,
                "description": "Ambient Weather device information."
              },
              "lastData": {
                "type": "object",
                "properties": {
                  "dateutc": {
                    "type": "integer",
                    "description": "The observation timestamp in Unix milliseconds."
                  },
                  "date": {
                    "type": "string",
                    "description": "The observation local date string."
                  }
                },
                "additionalProperties": true,
                "description": "The latest Ambient Weather observation record."
              }
            },
            "additionalProperties": false,
            "description": "The Ambient Weather device that was resolved."
          },
          "record": {
            "type": "object",
            "properties": {
              "dateutc": {
                "type": "integer",
                "description": "The observation timestamp in Unix milliseconds."
              },
              "date": {
                "type": "string",
                "description": "The observation local date string."
              }
            },
            "additionalProperties": true,
            "description": "The latest Ambient Weather observation record."
          }
        },
        "additionalProperties": false,
        "description": "The latest Ambient Weather observation result."
      }
    },
    {
      "id": "ambient_weather.list_devices",
      "service": "ambient_weather",
      "name": "list_devices",
      "description": "List Ambient Weather devices linked to the connected account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require any input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "devices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "macAddress": {
                  "type": "string",
                  "description": "The Ambient Weather device MAC address."
                },
                "info": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The Ambient Weather device name."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Ambient Weather device information."
                },
                "lastData": {
                  "type": "object",
                  "properties": {
                    "dateutc": {
                      "type": "integer",
                      "description": "The observation timestamp in Unix milliseconds."
                    },
                    "date": {
                      "type": "string",
                      "description": "The observation local date string."
                    }
                  },
                  "additionalProperties": true,
                  "description": "The latest Ambient Weather observation record."
                }
              },
              "additionalProperties": false,
              "description": "An Ambient Weather device summary with its latest observation."
            },
            "description": "Ambient Weather devices linked to the connected account."
          }
        },
        "additionalProperties": false,
        "description": "Ambient Weather devices returned by the list endpoint."
      }
    }
  ]
}
