{
  "service": "openfootball_worldcup",
  "displayName": "OpenFootball World Cup",
  "categories": [
    "Data"
  ],
  "authTypes": [
    "no_auth"
  ],
  "auth": [
    {
      "type": "no_auth"
    }
  ],
  "homepageUrl": "https://github.com/openfootball/worldcup.json",
  "actions": [
    {
      "id": "openfootball_worldcup.list_groups",
      "service": "openfootball_worldcup",
      "name": "list_groups",
      "description": "List World Cup groups from the public OpenFootball JSON dataset.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "season": {
            "type": "integer",
            "minimum": 1930,
            "description": "The World Cup season year to read from OpenFootball."
          }
        },
        "additionalProperties": false,
        "required": [
          "season"
        ],
        "description": "The input payload for reading an OpenFootball World Cup dataset."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tournament": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The tournament name returned by OpenFootball."
              }
            },
            "additionalProperties": false,
            "description": "The OpenFootball tournament wrapper."
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The group name."
                },
                "teams": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One team name."
                  },
                  "description": "The teams in the group."
                }
              },
              "additionalProperties": false,
              "description": "A World Cup group returned by OpenFootball."
            },
            "description": "The groups returned by OpenFootball."
          },
          "sourceUrl": {
            "type": "string",
            "description": "The source URL used to fetch the dataset.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "The OpenFootball World Cup groups response."
      }
    },
    {
      "id": "openfootball_worldcup.list_matches",
      "service": "openfootball_worldcup",
      "name": "list_matches",
      "description": "List World Cup matches from the public OpenFootball JSON dataset. This community dataset is not a real-time or official results source.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "season": {
            "type": "integer",
            "minimum": 1930,
            "description": "The World Cup season year to read from OpenFootball."
          }
        },
        "additionalProperties": false,
        "required": [
          "season"
        ],
        "description": "The input payload for reading an OpenFootball World Cup dataset."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tournament": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The tournament name returned by OpenFootball."
              }
            },
            "additionalProperties": false,
            "description": "The OpenFootball tournament wrapper."
          },
          "matches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "round": {
                  "type": "string",
                  "description": "The match round or matchday."
                },
                "date": {
                  "type": "string",
                  "description": "The match date.",
                  "format": "date"
                },
                "time": {
                  "type": "string",
                  "description": "The local or UTC-offset match time."
                },
                "team1": {
                  "type": "string",
                  "description": "The first team name."
                },
                "team2": {
                  "type": "string",
                  "description": "The second team name."
                },
                "group": {
                  "type": "string",
                  "description": "The group name when this is a group-stage match."
                },
                "ground": {
                  "type": "string",
                  "description": "The host city or ground label."
                },
                "goals1": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The scorer name."
                      },
                      "minute": {
                        "type": "string",
                        "description": "The goal minute."
                      },
                      "penalty": {
                        "type": "boolean",
                        "description": "Whether the goal was a penalty."
                      },
                      "owngoal": {
                        "type": "boolean",
                        "description": "Whether the goal was an own goal."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A goal entry returned by OpenFootball."
                  },
                  "description": "The goals scored by the first team."
                },
                "goals2": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The scorer name."
                      },
                      "minute": {
                        "type": "string",
                        "description": "The goal minute."
                      },
                      "penalty": {
                        "type": "boolean",
                        "description": "Whether the goal was a penalty."
                      },
                      "owngoal": {
                        "type": "boolean",
                        "description": "Whether the goal was an own goal."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A goal entry returned by OpenFootball."
                  },
                  "description": "The goals scored by the second team."
                }
              },
              "additionalProperties": true,
              "description": "A World Cup match returned by OpenFootball."
            },
            "description": "The matches returned by OpenFootball."
          },
          "sourceUrl": {
            "type": "string",
            "description": "The source URL used to fetch the dataset.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "The OpenFootball World Cup matches response."
      }
    },
    {
      "id": "openfootball_worldcup.list_qualification_playoffs",
      "service": "openfootball_worldcup",
      "name": "list_qualification_playoffs",
      "description": "List World Cup qualification playoff matches from the public OpenFootball JSON dataset when a season publishes playoff files.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "season": {
            "type": "integer",
            "minimum": 1930,
            "description": "The World Cup season year to read from OpenFootball."
          }
        },
        "additionalProperties": false,
        "required": [
          "season"
        ],
        "description": "The input payload for reading an OpenFootball World Cup dataset."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tournament": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The tournament name returned by OpenFootball."
              }
            },
            "additionalProperties": false,
            "description": "The OpenFootball tournament wrapper."
          },
          "matches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "round": {
                  "type": "string",
                  "description": "The match round or matchday."
                },
                "date": {
                  "type": "string",
                  "description": "The match date.",
                  "format": "date"
                },
                "time": {
                  "type": "string",
                  "description": "The local or UTC-offset match time."
                },
                "team1": {
                  "type": "string",
                  "description": "The first team name."
                },
                "team2": {
                  "type": "string",
                  "description": "The second team name."
                },
                "group": {
                  "type": "string",
                  "description": "The group name when this is a group-stage match."
                },
                "ground": {
                  "type": "string",
                  "description": "The host city or ground label."
                },
                "goals1": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The scorer name."
                      },
                      "minute": {
                        "type": "string",
                        "description": "The goal minute."
                      },
                      "penalty": {
                        "type": "boolean",
                        "description": "Whether the goal was a penalty."
                      },
                      "owngoal": {
                        "type": "boolean",
                        "description": "Whether the goal was an own goal."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A goal entry returned by OpenFootball."
                  },
                  "description": "The goals scored by the first team."
                },
                "goals2": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The scorer name."
                      },
                      "minute": {
                        "type": "string",
                        "description": "The goal minute."
                      },
                      "penalty": {
                        "type": "boolean",
                        "description": "Whether the goal was a penalty."
                      },
                      "owngoal": {
                        "type": "boolean",
                        "description": "Whether the goal was an own goal."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A goal entry returned by OpenFootball."
                  },
                  "description": "The goals scored by the second team."
                }
              },
              "additionalProperties": true,
              "description": "A World Cup match returned by OpenFootball."
            },
            "description": "The qualification playoff matches returned by OpenFootball."
          },
          "sourceUrl": {
            "type": "string",
            "description": "The source URL used to fetch the dataset.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "The OpenFootball World Cup qualification playoffs response."
      }
    },
    {
      "id": "openfootball_worldcup.list_squads",
      "service": "openfootball_worldcup",
      "name": "list_squads",
      "description": "List World Cup squads from the public OpenFootball JSON dataset when a season publishes squad files.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "season": {
            "type": "integer",
            "minimum": 1930,
            "description": "The World Cup season year to read from OpenFootball."
          }
        },
        "additionalProperties": false,
        "required": [
          "season"
        ],
        "description": "The input payload for reading an OpenFootball World Cup dataset."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "squads": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The team name."
                },
                "fifa_code": {
                  "type": "string",
                  "description": "The FIFA team code."
                },
                "group": {
                  "type": "string",
                  "description": "The group letter."
                },
                "players": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "One squad player."
                  },
                  "description": "The squad players returned by OpenFootball."
                }
              },
              "additionalProperties": true,
              "description": "A World Cup squad returned by OpenFootball."
            },
            "description": "The squads returned by OpenFootball."
          },
          "sourceUrl": {
            "type": "string",
            "description": "The source URL used to fetch the dataset.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "The OpenFootball World Cup squads response."
      }
    },
    {
      "id": "openfootball_worldcup.list_stadiums",
      "service": "openfootball_worldcup",
      "name": "list_stadiums",
      "description": "List World Cup stadiums from the public OpenFootball JSON dataset.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "season": {
            "type": "integer",
            "minimum": 1930,
            "description": "The World Cup season year to read from OpenFootball."
          }
        },
        "additionalProperties": false,
        "required": [
          "season"
        ],
        "description": "The input payload for reading an OpenFootball World Cup dataset."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tournament": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The tournament name returned by OpenFootball."
              }
            },
            "additionalProperties": false,
            "description": "The OpenFootball tournament wrapper."
          },
          "stadiums": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "city": {
                  "type": "string",
                  "description": "The host city label."
                },
                "timezone": {
                  "type": "string",
                  "description": "The city timezone label."
                },
                "cc": {
                  "type": "string",
                  "description": "The lowercase country code."
                },
                "name": {
                  "type": "string",
                  "description": "The stadium name."
                },
                "capacity": {
                  "type": "integer",
                  "description": "The stadium capacity."
                },
                "coords": {
                  "type": "string",
                  "description": "The stadium coordinates."
                }
              },
              "additionalProperties": true,
              "description": "A World Cup stadium returned by OpenFootball."
            },
            "description": "The stadiums returned by OpenFootball."
          },
          "sourceUrl": {
            "type": "string",
            "description": "The source URL used to fetch the dataset.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "The OpenFootball World Cup stadiums response."
      }
    },
    {
      "id": "openfootball_worldcup.list_teams",
      "service": "openfootball_worldcup",
      "name": "list_teams",
      "description": "List World Cup teams from the public OpenFootball JSON dataset.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "season": {
            "type": "integer",
            "minimum": 1930,
            "description": "The World Cup season year to read from OpenFootball."
          }
        },
        "additionalProperties": false,
        "required": [
          "season"
        ],
        "description": "The input payload for reading an OpenFootball World Cup dataset."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "teams": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The team name."
                },
                "fifa_code": {
                  "type": "string",
                  "description": "The FIFA team code."
                },
                "group": {
                  "type": "string",
                  "description": "The group letter."
                },
                "confed": {
                  "type": "string",
                  "description": "The confederation code."
                },
                "continent": {
                  "type": "string",
                  "description": "The continent name."
                }
              },
              "additionalProperties": true,
              "description": "A World Cup team returned by OpenFootball."
            },
            "description": "The teams returned by OpenFootball."
          },
          "sourceUrl": {
            "type": "string",
            "description": "The source URL used to fetch the dataset.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "The OpenFootball World Cup teams response."
      }
    }
  ]
}
