{
  "service": "ambee",
  "displayName": "Ambee",
  "categories": [
    "Location",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "AMBEE_API_KEY",
      "description": "Ambee API key sent with the x-api-key header. Create or copy it from the Access API Keys page in your Ambee account: https://docs.ambeedata.com/access-api-keys.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.getambee.com",
  "actions": [
    {
      "id": "ambee.geocode_by_place",
      "service": "ambee",
      "name": "geocode_by_place",
      "description": "Convert a place name or address into latitude and longitude with Ambee.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "place": {
            "type": "string",
            "minLength": 1,
            "description": "The place name or address to geocode."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for geocoding a place with Ambee."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "locations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number",
                  "description": "The latitude of the matched location."
                },
                "lng": {
                  "type": "number",
                  "description": "The longitude of the matched location."
                },
                "address": {
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string",
                      "description": "The full formatted address label."
                    },
                    "countryCode": {
                      "type": "string",
                      "description": "The ISO country code."
                    },
                    "countryName": {
                      "type": "string",
                      "description": "The full country name."
                    },
                    "city": {
                      "type": "string",
                      "description": "The city name."
                    },
                    "state": {
                      "type": "string",
                      "description": "The state or province name."
                    },
                    "stateCode": {
                      "type": "string",
                      "description": "The state or province code."
                    },
                    "district": {
                      "type": "string",
                      "description": "The district or neighbourhood name."
                    },
                    "street": {
                      "type": "string",
                      "description": "The street name."
                    },
                    "houseNumber": {
                      "type": "string",
                      "description": "The house or building number."
                    },
                    "postalCode": {
                      "type": "string",
                      "description": "The postal or ZIP code."
                    }
                  },
                  "additionalProperties": true,
                  "description": "The address details returned by Ambee."
                }
              },
              "additionalProperties": true,
              "description": "One geocoding result returned by Ambee."
            },
            "description": "The geocoded locations returned by Ambee."
          }
        },
        "additionalProperties": false,
        "description": "The geocoding results returned by Ambee."
      }
    },
    {
      "id": "ambee.get_air_quality_by_lat_lng",
      "service": "ambee",
      "name": "get_air_quality_by_lat_lng",
      "description": "Get the latest air quality station readings for one coordinate from Ambee.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90,
            "description": "The latitude of the target location."
          },
          "lng": {
            "type": "number",
            "minimum": -180,
            "maximum": 180,
            "description": "The longitude of the target location."
          }
        },
        "additionalProperties": false,
        "description": "The coordinate input payload used by Ambee location endpoints."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The Ambee status message for the current reading."
          },
          "stations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number",
                  "description": "The latitude of the reading."
                },
                "lng": {
                  "type": "number",
                  "description": "The longitude of the reading."
                },
                "AQI": {
                  "type": "integer",
                  "description": "The US EPA Air Quality Index value."
                },
                "CO": {
                  "type": "number",
                  "description": "The carbon monoxide concentration."
                },
                "NO2": {
                  "type": "number",
                  "description": "The nitrogen dioxide concentration."
                },
                "OZONE": {
                  "type": "number",
                  "description": "The ozone concentration."
                },
                "PM10": {
                  "type": "number",
                  "description": "The PM10 concentration."
                },
                "PM25": {
                  "type": "number",
                  "description": "The PM2.5 concentration."
                },
                "SO2": {
                  "type": "number",
                  "description": "The sulphur dioxide concentration."
                },
                "updatedAt": {
                  "type": "string",
                  "description": "The timestamp when the reading was updated."
                },
                "aqiInfo": {
                  "type": "object",
                  "properties": {
                    "pollutant": {
                      "type": "string",
                      "description": "The dominant pollutant for this AQI reading."
                    },
                    "concentration": {
                      "type": "number",
                      "description": "The concentration of the dominant pollutant."
                    },
                    "category": {
                      "type": "string",
                      "description": "The AQI category such as Good or Moderate."
                    }
                  },
                  "additionalProperties": true,
                  "description": "The dominant pollutant details for one AQI reading."
                },
                "city": {
                  "type": "string",
                  "description": "The city name."
                },
                "state": {
                  "type": "string",
                  "description": "The state or province name."
                },
                "division": {
                  "type": "string",
                  "description": "The administrative division or district name."
                },
                "postalCode": {
                  "type": "string",
                  "description": "The postal or ZIP code."
                },
                "countryCode": {
                  "type": "string",
                  "description": "The ISO country code."
                },
                "placeName": {
                  "type": "string",
                  "description": "The specific place name when available."
                }
              },
              "additionalProperties": true,
              "description": "One air quality station reading returned by Ambee."
            },
            "description": "The air quality station readings returned by Ambee."
          }
        },
        "additionalProperties": false,
        "required": [
          "stations"
        ],
        "description": "The current air quality station readings returned by Ambee."
      }
    },
    {
      "id": "ambee.get_air_quality_forecast_by_lat_lng",
      "service": "ambee",
      "name": "get_air_quality_forecast_by_lat_lng",
      "description": "Get the air quality forecast for one coordinate from Ambee.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90,
            "description": "The latitude of the target location."
          },
          "lng": {
            "type": "number",
            "minimum": -180,
            "maximum": 180,
            "description": "The longitude of the target location."
          }
        },
        "additionalProperties": false,
        "description": "The coordinate input payload used by Ambee location endpoints."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The Ambee status message for the forecast request."
          },
          "forecast": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number",
                  "description": "The latitude of the reading."
                },
                "lng": {
                  "type": "number",
                  "description": "The longitude of the reading."
                },
                "AQI": {
                  "type": "integer",
                  "description": "The US EPA Air Quality Index value."
                },
                "CO": {
                  "type": "number",
                  "description": "The carbon monoxide concentration."
                },
                "NO2": {
                  "type": "number",
                  "description": "The nitrogen dioxide concentration."
                },
                "OZONE": {
                  "type": "number",
                  "description": "The ozone concentration."
                },
                "PM10": {
                  "type": "number",
                  "description": "The PM10 concentration."
                },
                "PM25": {
                  "type": "number",
                  "description": "The PM2.5 concentration."
                },
                "SO2": {
                  "type": "number",
                  "description": "The sulphur dioxide concentration."
                },
                "updatedAt": {
                  "type": "string",
                  "description": "The timestamp when the reading was updated."
                },
                "aqiInfo": {
                  "type": "object",
                  "properties": {
                    "pollutant": {
                      "type": "string",
                      "description": "The dominant pollutant for this AQI reading."
                    },
                    "concentration": {
                      "type": "number",
                      "description": "The concentration of the dominant pollutant."
                    },
                    "category": {
                      "type": "string",
                      "description": "The AQI category such as Good or Moderate."
                    }
                  },
                  "additionalProperties": true,
                  "description": "The dominant pollutant details for one AQI reading."
                },
                "city": {
                  "type": "string",
                  "description": "The city name."
                },
                "state": {
                  "type": "string",
                  "description": "The state or province name."
                },
                "division": {
                  "type": "string",
                  "description": "The administrative division or district name."
                },
                "postalCode": {
                  "type": "string",
                  "description": "The postal or ZIP code."
                },
                "countryCode": {
                  "type": "string",
                  "description": "The ISO country code."
                },
                "placeName": {
                  "type": "string",
                  "description": "The specific place name when available."
                }
              },
              "additionalProperties": true,
              "description": "One air quality station reading returned by Ambee."
            },
            "description": "The forecast air quality readings returned by Ambee."
          }
        },
        "additionalProperties": false,
        "required": [
          "forecast"
        ],
        "description": "The air quality forecast returned by Ambee."
      }
    },
    {
      "id": "ambee.get_air_quality_history_by_lat_lng",
      "service": "ambee",
      "name": "get_air_quality_history_by_lat_lng",
      "description": "Get historical air quality readings for one coordinate from Ambee.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90,
            "description": "The latitude of the target location."
          },
          "lng": {
            "type": "number",
            "minimum": -180,
            "maximum": 180,
            "description": "The longitude of the target location."
          },
          "from": {
            "type": "string",
            "minLength": 1,
            "description": "The timestamp in `YYYY-MM-DD hh:mm:ss` format required by the Ambee history endpoint.",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$"
          },
          "to": {
            "type": "string",
            "minLength": 1,
            "description": "The timestamp in `YYYY-MM-DD hh:mm:ss` format required by the Ambee history endpoint.",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for reading historical air quality from Ambee."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The Ambee status message for the history request."
          },
          "history": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number",
                  "description": "The latitude of the reading."
                },
                "lng": {
                  "type": "number",
                  "description": "The longitude of the reading."
                },
                "AQI": {
                  "type": "integer",
                  "description": "The US EPA Air Quality Index value."
                },
                "CO": {
                  "type": "number",
                  "description": "The carbon monoxide concentration."
                },
                "NO2": {
                  "type": "number",
                  "description": "The nitrogen dioxide concentration."
                },
                "OZONE": {
                  "type": "number",
                  "description": "The ozone concentration."
                },
                "PM10": {
                  "type": "number",
                  "description": "The PM10 concentration."
                },
                "PM25": {
                  "type": "number",
                  "description": "The PM2.5 concentration."
                },
                "SO2": {
                  "type": "number",
                  "description": "The sulphur dioxide concentration."
                },
                "createdAt": {
                  "type": "string",
                  "description": "The timestamp when the historical reading was recorded."
                },
                "majorPollutant": {
                  "type": "string",
                  "description": "The dominant pollutant for the historical reading."
                },
                "postalCode": {
                  "type": "string",
                  "description": "The postal or ZIP code."
                }
              },
              "additionalProperties": true,
              "description": "One historical air quality reading returned by Ambee."
            },
            "description": "The historical air quality readings returned by Ambee."
          }
        },
        "additionalProperties": false,
        "required": [
          "history"
        ],
        "description": "The historical air quality readings returned by Ambee."
      }
    },
    {
      "id": "ambee.reverse_geocode_by_lat_lng",
      "service": "ambee",
      "name": "reverse_geocode_by_lat_lng",
      "description": "Convert latitude and longitude into location details with Ambee.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90,
            "description": "The latitude of the target location."
          },
          "lng": {
            "type": "number",
            "minimum": -180,
            "maximum": 180,
            "description": "The longitude of the target location."
          }
        },
        "additionalProperties": false,
        "description": "The coordinate input payload used by Ambee location endpoints."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The optional Ambee status message."
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number",
                  "description": "The latitude of the matched location."
                },
                "lng": {
                  "type": "number",
                  "description": "The longitude of the matched location."
                },
                "address": {
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string",
                      "description": "The full formatted address label."
                    },
                    "countryCode": {
                      "type": "string",
                      "description": "The ISO country code."
                    },
                    "countryName": {
                      "type": "string",
                      "description": "The full country name."
                    },
                    "city": {
                      "type": "string",
                      "description": "The city name."
                    },
                    "state": {
                      "type": "string",
                      "description": "The state or province name."
                    },
                    "stateCode": {
                      "type": "string",
                      "description": "The state or province code."
                    },
                    "district": {
                      "type": "string",
                      "description": "The district or neighbourhood name."
                    },
                    "street": {
                      "type": "string",
                      "description": "The street name."
                    },
                    "houseNumber": {
                      "type": "string",
                      "description": "The house or building number."
                    },
                    "postalCode": {
                      "type": "string",
                      "description": "The postal or ZIP code."
                    }
                  },
                  "additionalProperties": true,
                  "description": "The address details returned by Ambee."
                }
              },
              "additionalProperties": true,
              "description": "One geocoding result returned by Ambee."
            },
            "description": "The reverse geocoded locations returned by Ambee."
          }
        },
        "additionalProperties": false,
        "required": [
          "locations"
        ],
        "description": "The reverse geocoding results returned by Ambee."
      }
    }
  ]
}
