{
  "service": "juniper_mist",
  "displayName": "Juniper Mist",
  "categories": [
    "Security",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "JUNIPER_MIST_API_TOKEN",
      "description": "Juniper Mist API token sent with the Authorization: Token header. Create it from the Mist portal API Token page: https://api-class.mist.com/rest/createapitoken/",
      "extraFields": [
        {
          "key": "apiBaseUrl",
          "label": "API Base URL",
          "inputType": "text",
          "required": false,
          "secret": false,
          "placeholder": "https://api.mist.com/api/v1",
          "description": "Optional Juniper Mist API base URL for your cloud region, such as https://api.mist.com/api/v1 or https://api.eu.mist.com/api/v1."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.juniper.net/us/en/products/networking/mist-ai.html",
  "actions": [
    {
      "id": "juniper_mist.get_self",
      "service": "juniper_mist",
      "name": "get_self",
      "description": "Get the authenticated Juniper Mist administrator profile and accessible organizations or sites.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require input fields."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "self": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Juniper Mist administrator ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "email": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Administrator email address."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "firstName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Administrator first name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Administrator last name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Administrator display name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "privileges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Raw privilege object returned by Juniper Mist."
                },
                "description": "Organization and site privileges for the administrator."
              },
              "organizations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Juniper Mist organization ID."
                    },
                    "name": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "Juniper Mist organization name, when available."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "privilege": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "Privilege granted to the authenticated administrator."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "role": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "Role granted to the authenticated administrator."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "raw": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "Raw organization privilege object returned by Juniper Mist."
                    }
                  },
                  "additionalProperties": false,
                  "description": "Juniper Mist organization access summary."
                },
                "description": "Organizations available to the administrator."
              },
              "sites": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Juniper Mist site ID."
                    },
                    "name": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "Juniper Mist site name, when available."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "orgId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "Juniper Mist organization ID that owns the site, when available."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "privilege": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "Privilege granted to the authenticated administrator."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "role": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "Role granted to the authenticated administrator."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "raw": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "Raw site privilege object returned by Juniper Mist."
                    }
                  },
                  "additionalProperties": false,
                  "description": "Juniper Mist site access summary."
                },
                "description": "Sites available to the administrator."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Raw self profile returned by Juniper Mist."
              }
            },
            "additionalProperties": false,
            "description": "Juniper Mist authenticated administrator profile."
          }
        },
        "additionalProperties": false,
        "description": "Juniper Mist self profile response."
      }
    },
    {
      "id": "juniper_mist.list_org_sites",
      "service": "juniper_mist",
      "name": "list_org_sites",
      "description": "List sites in a Juniper Mist organization with optional pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "minLength": 1,
            "description": "Juniper Mist organization ID."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "One-based page number to request."
          }
        },
        "additionalProperties": false,
        "required": [
          "orgId"
        ],
        "description": "Input parameters for listing Juniper Mist organization sites."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Juniper Mist site ID."
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Site name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "orgId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Juniper Mist organization ID that owns the site, when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "timezone": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Site timezone."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "countryCode": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Site country code."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "address": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Site street address."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "latlng": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "Site latitude and longitude object returned by Juniper Mist."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Raw site object returned by Juniper Mist."
                }
              },
              "additionalProperties": false,
              "description": "Juniper Mist organization site."
            },
            "description": "Sites returned by Juniper Mist."
          }
        },
        "additionalProperties": false,
        "description": "Juniper Mist organization sites response."
      }
    },
    {
      "id": "juniper_mist.list_site_devices",
      "service": "juniper_mist",
      "name": "list_site_devices",
      "description": "List devices in a Juniper Mist site with optional type, name, and pagination filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string",
            "minLength": 1,
            "description": "Juniper Mist site ID."
          },
          "type": {
            "type": "string",
            "enum": [
              "all",
              "ap",
              "switch",
              "gateway"
            ],
            "description": "Juniper Mist device type filter."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Device name filter."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "One-based page number to request."
          }
        },
        "additionalProperties": false,
        "required": [
          "siteId"
        ],
        "description": "Input parameters for listing Juniper Mist site devices."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "devices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Juniper Mist device ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Device name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "mac": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Device MAC address."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "serial": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Device serial number."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "model": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Device model."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Device type."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "siteId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Juniper Mist site ID for the device."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "orgId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Juniper Mist organization ID for the device."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Device status, when returned by Juniper Mist."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Raw device object returned by Juniper Mist."
                }
              },
              "additionalProperties": false,
              "description": "Juniper Mist site device."
            },
            "description": "Devices returned by Juniper Mist."
          }
        },
        "additionalProperties": false,
        "description": "Juniper Mist site devices response."
      }
    }
  ]
}
