{
  "service": "mindbody",
  "displayName": "Mindbody",
  "categories": [
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "MINDBODY_API_KEY",
      "description": "Mindbody Consumer API key sent with the API-Key header. Create and view API keys in the Mindbody developer portal under Account > API credentials: https://developers.mindbodyonline.com."
    }
  ],
  "homepageUrl": "https://www.mindbodyonline.com",
  "actions": [
    {
      "id": "mindbody.list_businesses",
      "service": "mindbody",
      "name": "list_businesses",
      "description": "List businesses from the Mindbody Consumer API Business Directory, optionally filtered by business IDs.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "The Mindbody Business Directory page number to request. Mindbody defaults this to 1."
          },
          "businessIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Mindbody business ID to filter the Business Directory."
            },
            "description": "Mindbody business IDs to restrict results to.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Mindbody Business Directory businesses."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "pageCount": {
            "anyOf": [
              {
                "type": "number",
                "description": "The total number of result pages returned by Mindbody."
              },
              {
                "type": "null"
              }
            ]
          },
          "businesses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "The ID of the business."
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The name of the business."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "websiteUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The website URL of the business."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "locations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "description": "The ID of the business location."
                      },
                      "name": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The name of the business location."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "addressLine1": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The first line of the business location's street address."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "addressLine2": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The second line of the business location's street address, if returned."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "city": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The business location's city."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "stateProvCode": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The business location's state or province code."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "postalCode": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The business location's postal code."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "countryCode": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The business location's country code."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "bookingUrl": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The booking URL for the business location."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": true,
                    "description": "One Mindbody business location."
                  },
                  "description": "The locations of the business."
                }
              },
              "additionalProperties": true,
              "description": "One Mindbody Business Directory business."
            },
            "description": "The businesses returned by Mindbody."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Mindbody Business Directory response."
      }
    }
  ]
}
