{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "staging.clubplatform.de",
  "basePath": "/api",
  "info": {
    "description": "[**Download specification**](../../spec.json) - for use in third party tools like [Postman.](https://www.getpostman.com/)\n\n[**Changelog**](../../changelog.html) - a list of all recent API changes.\n\n# Introduction\nThe key words \"**MUST**\", \"**MUST NOT**\", \"**REQUIRED**\", \"**SHALL**\", \"**SHALL NOT**\", \"**SHOULD**\", \"**SHOULD NOT**\", \"**RECOMMENDED**\", \"**MAY**\", and \"**OPTIONAL**\" in this document are to be interpreted as described in IETF [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt).\n\n## Environments\nThe API is available via the following endpoints:\n\n  | Environment | Base URL                            |\n  |:------------|:------------------------------------|\n  | Production  | https://api.clubplatform.de         |\n  | Staging     | https://api-staging.clubplatform.de |\n\nThe production environment provides access to live data.\nThe staging environment is a good place to test your code without affecting live data.\n\nGeneral information about the staging environment:\n- The auth_token from production can be used with an \"_staging\" extension, e.g. yourtoken_staging\n- Production user can be used on staging\n- We import the backup from production every night:\n  - Data which has been created on staging will then disappear over night\n  - The current data from production will then be available on staging\n\n## Types\nIf not otherwise specified the header `Accept: application/json` **MUST** be set with each request.\nAlso the header `Content-type: application/json` **MUST** be set if a request contains body data in JSON format.\n\n## API rules\n- We are not removing any endpoints/attributes/filters from the API.\n- We will add endpoints/attributes/filters without prior announcement.\n- Any client **MUST** be able to handle new attribute fields in any response.\n- If a response contains a list of distinct objects, the client **MUST** be able to handle new object types, because we **MAY** add new items to those kind of lists.\n\n## Caching\nThe API makes highly usage of HTTP caching.\nThe API responses get purged from the cache if new data is available.\nTo avoid the transfer of heavy response bodies in the case the data was not updated in our API, an `If-Modified-Since` header **MUST** be added to every `GET` request.\nA cache HIT would return a status `304` indicating that the client has the newest content already available.\n\n## Widgets\nWe have prepared a set of JavaScript Widgets that you can easily integrate in any webpage. You can [find them here](https://lagardere-sports.github.io/keepr-js/).\n\n## Data coverage\n\nFootball core data are available for most tournaments and includes:\n\n* Schedule\n* Squads and line-ups\n* Team and player profiles\n* Live Scores\n* Results\n* Tables\n\nMore detailed football data are only available for the following tournaments:\n\n* Dutch Eredivisie\n* English Barclays Premier League\n* German 2. Bundesliga\n* German Bundesliga\n* UEFA Champions League\n* UEFA Europa League\n\nFootball data for other leagues **COULD** be delayed and/or partially available.\n",
    "title": "API",
    "version": "2024-03-27",
    "contact": {
      "name": "API developers"
    }
  },
  "securityDefinitions": {
    "api_token": {
      "description": "Get access to the api by using an token parameter (`auth_token`).\nThis is the *default* authentication method.\n",
      "type": "apiKey",
      "name": "auth_token",
      "in": "query"
    },
    "signed_request": {
      "description": "Some API requests **MUST** be signed additionally to avoid abuse.\nThe signature is a Base64 encoded HMAC-SHA256 of the request parameters.\n",
      "type": "apiKey",
      "name": "hmac",
      "in": "query"
    }
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "security": [
    {
      "api_token": []
    }
  ],
  "tags": [
    {
      "name": "signed_request",
      "x-displayName": "Signed request",
      "x-traitTag": true,
      "description": "Some API requests **MUST** be signed additionally to avoid abuse.\nThe signature is a Base64 encoded HMAC-SHA256 of the request parameters.\n\nYou can create a signature in ruby like:\n```ruby\n# 1. Build the message\nsecret = \"your_secret\"\nparams = {\n  vote: {\n    choice_id: 1,\n    uuid: \"SOMEUUID\"\n  }\n}\n\n# 2. Sort the parameters\nmessage = \"vote[choice_id]=1&vote[uuid]=SOMEUUIDyour_secret\"\n\n# 3. Digest the message\ndigest = OpenSSL::HMAC.digest(\"sha256\", secret, message)\n=> \"?\\xC2\\xF1M\\xEF\\xBC\\xF4\\xED\\xFF\\xDB\\x1A\\\\\\xD9q\\x86\\xC6$q\\x9D\\x85W`I\\nMd\\xE3\\xDEP1|\\x8C\"\n\n# 4. Base64 encode the digest\nsignature = Base64.encode64(digest).chomp\n=> \"P8LxTe+89O3/2xpc2XGGxiRxnYVXYEkKTWTj3lAxfIw=\"\n\n# 5. Add the signature to the parameters\nparams = {\n  vote: {\n    choice_id: 1,\n    uuid: \"SOMEUUID\"\n  },\n  hmac: \"P8LxTe+89O3/2xpc2XGGxiRxnYVXYEkKTWTj3lAxfIw=\"\n}\n```\n"
    },
    {
      "name": "Activity",
      "description": "Activities may contain different source types like news, videos, social media posts or match events. The stream is configurable for every club."
    },
    {
      "name": "Calendar"
    },
    {
      "name": "Club"
    },
    {
      "name": "Custom Field",
      "description": "Custom Fields are a lightweight key/value store."
    },
    {
      "name": "EventMode"
    },
    {
      "name": "EPG"
    },
    {
      "name": "File",
      "description": "You could use files to upload splash screens."
    },
    {
      "name": "Gallery",
      "description": "Galleries organize multiple images."
    },
    {
      "name": "Image",
      "description": "Images are part of a gallery."
    },
    {
      "name": "Is Matchday"
    },
    {
      "name": "Manual Posts"
    },
    {
      "name": "Matchday"
    },
    {
      "name": "Match"
    },
    {
      "name": "News",
      "description": "News can be splitted up in multiple components. They are mostly delivered by a content agency."
    },
    {
      "name": "News Streams"
    },
    {
      "name": "Launch Screen"
    },
    {
      "name": "Page"
    },
    {
      "name": "Place",
      "description": "Places can be created."
    },
    {
      "name": "Player",
      "description": "Players are delivered automatically from our data provider and are connected with a team. Player informations can be extended via the update call."
    },
    {
      "name": "Product",
      "description": "Products are delivered from shop systems and include all basic product informations."
    },
    {
      "name": "Poll",
      "description": "Polls can be created and for example can be used in the matchday."
    },
    {
      "name": "Push Notification",
      "description": "A device needs to be subscribed to one or more push tags in order to receive push notifications.\n- Push tags need to be defined.\n- Push tags look like: **club_news** or **club_match_highlights**.\n- After defining the push tags, the push tags can be used by the app.\n\n*Recommendation*\n\nSent all push tags and the actual subscription state on app start.\n"
    },
    {
      "name": "Quiz"
    },
    {
      "name": "Schedule"
    },
    {
      "name": "Season",
      "description": "Seasons are delivered automatically from our data provider. A season is connected to a tournament."
    },
    {
      "name": "Stream"
    },
    {
      "name": "Statistics"
    },
    {
      "name": "Team",
      "description": "Teams are delivered automatically from our data provider and are available for each tournament and season."
    },
    {
      "name": "Tournament",
      "description": "Tournaments are delivered automatically from our data provider."
    },
    {
      "name": "Video",
      "description": "Video sources are configured. The videos from the configured source are imported and updated automatically."
    },
    {
      "name": "Other",
      "description": "All other operations."
    }
  ],
  "x-servers": [
    {
      "url": "//api.clubplatform.de/api",
      "description": "Production"
    },
    {
      "url": "//api-staging.clubplatform.de/api",
      "description": "Staging"
    }
  ],
  "paths": {
    "/clubs/{club_id}/activities": {
      "get": {
        "tags": [
          "Activity"
        ],
        "summary": "Activities",
        "description": "Returns activities of the club.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "until",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items before that time."
          },
          {
            "name": "source[]",
            "in": "query",
            "description": "List of sources to filter the result.\nUse one or multiple of following:\n\n*news_items*, *videos*, *posts*, *galleries*, *match_facts_or_events*\n",
            "collectionFormat": "multi",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of activities.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "external_id": {
                        "type": "string",
                        "description": "External ID of the activity.",
                        "example": "42"
                      },
                      "external_url": {
                        "type": "string",
                        "description": "External URL of the activity.",
                        "example": "https://www.facebook.com/DouglasSantosDS6OFICIAL/photos/a.177194459096974.1073741828.177157089100711/797601193722961/?type=3"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of the activity.",
                        "example": "facebook_post",
                        "enum": [
                          "card_event",
                          "comment_event",
                          "facebook_post",
                          "goal_event",
                          "graph_instagram_post",
                          "lineup_complete_event",
                          "news_item",
                          "stats",
                          "match",
                          "friendly_match",
                          "substitution_event",
                          "team_lineup_complete_event",
                          "timetable_action_event",
                          "var_decision_event",
                          "tweet",
                          "tweet_v2",
                          "video",
                          "youtube_video"
                        ]
                      },
                      "source": {
                        "type": "object",
                        "description": "Original **raw** object. This could be an *external* object.\nYou **SHOULD** use this object carefully, because external systems could change the structure.\n",
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "image": {
                        "type": "object",
                        "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                        "properties": {
                          "medium": {
                            "type": "object",
                            "description": "Image with max size of 640 x 640 pixels.",
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL to a video if the activity source contains one."
                              }
                            }
                          }
                        }
                      },
                      "image_url": {
                        "type": "string",
                        "description": "URL to the activity image."
                      },
                      "image_width": {
                        "type": "integer",
                        "description": "Width in pixels of the activity image.",
                        "example": 800
                      },
                      "image_height": {
                        "type": "integer",
                        "description": "Height in pixels of the activity image.",
                        "example": 600
                      },
                      "profile_image_url": {
                        "type": "string",
                        "description": "URL to an image of the user which is assocated to this activity."
                      },
                      "video_url": {
                        "type": "string",
                        "description": "URL to a video if the activity source contains one."
                      },
                      "published_at": {
                        "type": "string",
                        "description": "Publishing date of the activity. This **COULD** be use to paginate by the `until` parameter."
                      },
                      "account": {
                        "type": "object",
                        "description": "Account which is associated with the source.",
                        "properties": {
                          "name": {
                            "type": "string",
                            "description": "Name of the account.",
                            "example": "HSV"
                          },
                          "id": {
                            "type": "integer",
                            "description": "ID of the account.",
                            "example": 761841
                          },
                          "group_id": {
                            "type": "integer",
                            "description": "Group ID which the account is accociated with.",
                            "example": 757
                          },
                          "username": {
                            "type": "string",
                            "description": "Username of the account.",
                            "example": "HSV"
                          }
                        }
                      },
                      "minutes_elapsed": {
                        "type": "integer",
                        "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n"
                      },
                      "injury_minutes_elapsed": {
                        "type": "integer",
                        "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/calendars": {
      "get": {
        "tags": [
          "Calendar"
        ],
        "summary": "Calendars",
        "description": "Returns a list of calendars for the club.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of calendars.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "ID of the calendar.",
                        "example": "42"
                      },
                      "title": {
                        "type": "string",
                        "description": "Display title of the calendar.",
                        "example": "BVB Kalender"
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "link": {
                        "type": "string",
                        "description": "API-URL this calendar."
                      },
                      "ics": {
                        "type": "string",
                        "description": "API-URL to the ics version of this calendar."
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/calendars/{id}": {
      "get": {
        "tags": [
          "Calendar"
        ],
        "summary": "Calendar",
        "description": "Returns a calendar by ID.\n\nYou could also fetch the calendar in iCalendar format if you set `Accept: text/calendar` or use the `.ics` extension.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the calendar."
          },
          {
            "name": "categories[]",
            "in": "query",
            "type": "array",
            "description": "List of categories.",
            "collectionFormat": "multi",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "The response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n|Filter Items|Set locale|\n|:-----------|:-----------|\n|❌|✅|\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "produces": [
          "application/json",
          "text/calendar"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID of the calendar.",
                      "example": "42"
                    },
                    "title": {
                      "type": "string",
                      "description": "Display title of the calendar.",
                      "example": "BVB Kalender"
                    },
                    "timezone": {
                      "type": "string",
                      "description": "Timezone of the calendar.",
                      "example": "Europe/Berlin"
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "events": {
                      "type": "array",
                      "description": "Events in the calendar.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "Title of the event.",
                            "example": "Borussia Dortmund - Bayern München"
                          },
                          "uid": {
                            "type": "string",
                            "description": "iCalendar conform UID.",
                            "example": "0af1d91b227c6ae77e42e558443cb60e@bvb.de"
                          },
                          "starts_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Time which the event starts.",
                            "example": "2016-08-14T18:30:00Z"
                          },
                          "ends_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Time which the event ends.",
                            "example": "2016-08-14T20:30:00Z"
                          },
                          "description": {
                            "type": "string",
                            "description": "Description of the event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "location": {
                            "type": "string",
                            "description": "Location of the event."
                          },
                          "geo": {
                            "type": "string",
                            "description": "Comma separated coordinates of the event location."
                          },
                          "categories": {
                            "type": "array",
                            "description": "Categories of the event.",
                            "items": {
                              "type": "string"
                            },
                            "example": [
                              "Spiel",
                              "pro match"
                            ]
                          },
                          "day_long": {
                            "type": "boolean",
                            "description": "True if the event is day long."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/club_seasons": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Club seasons and tournaments",
        "description": "Returns the seasons a club was active in and all the tournaments the club played in during that season",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "The response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n|Filter Items|Set locale|\n|:-----------|:-----------|\n|❌|✅|\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of seasons and tournaments.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "season": {
                        "type": "string",
                        "description": "Season name.",
                        "example": "2025/2026"
                      },
                      "season_start": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Start date of the season.",
                        "example": "2025-06-30T00:00:00+00:00"
                      },
                      "season_end": {
                        "type": "string",
                        "format": "date-time",
                        "description": "End date of the season.",
                        "example": "2026-06-29T23:59:59+00:00"
                      },
                      "club_id": {
                        "type": "integer",
                        "description": "ID of the club.",
                        "example": 2
                      },
                      "tournaments": {
                        "type": "array",
                        "description": "List of tournaments the club participated in during the season.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "Name of the tournament.",
                              "example": "Champions League"
                            },
                            "id": {
                              "type": "integer",
                              "description": "ID of the tournament.",
                              "example": 59
                            },
                            "season_id": {
                              "type": "integer",
                              "description": "ID of the season in the tournament.",
                              "example": 1573899
                            },
                            "team_id": {
                              "type": "integer",
                              "description": "ID of the team representing the club in the tournament.",
                              "example": 1417999
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/current_seasons": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Current seasons",
        "description": "Returns list of current seasons where the club is member of.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "The response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n|Filter Items|Set locale|\n|:-----------|:-----------|\n|❌|✅|\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of current seasons.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the season.",
                        "example": 1573213
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the season.",
                        "example": "2016/2017"
                      },
                      "tournament_id": {
                        "type": "integer",
                        "description": "ID of tournament where season belongs to.",
                        "example": 3
                      },
                      "tournament_name": {
                        "type": "string",
                        "description": "Name of the tournament where season belongs to.\n\n**NOTE**: the info will always be in the locale which is provide\n",
                        "example": "DFB-Pokal"
                      },
                      "tournament_handle": {
                        "type": "string",
                        "description": "Handle of the tournament where season belongs to.",
                        "example": "DFB_POKAL"
                      },
                      "team_id": {
                        "type": "integer",
                        "description": "ID of the club's team which is playing in the season.",
                        "example": 1401868
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/current_seasons/schedule": {
      "get": {
        "tags": [
          "Schedule"
        ],
        "summary": "Schedule of current season for club",
        "description": "Returns list of scheduled matches of current season where the club is member of.\nMatches returns in date and start time order.\n\nYou could also fetch the schedule in iCalendar format if you set `Accept: text/calendar` or use the `.ics` extension.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "alignment",
            "in": "query",
            "type": "string",
            "description": "Filter matches by team alignment of the club.",
            "enum": [
              "away",
              "home"
            ]
          },
          {
            "name": "group_id",
            "in": "query",
            "type": "integer",
            "description": "Filter matches by group."
          },
          {
            "name": "tournament_ids[]",
            "in": "query",
            "type": "array",
            "description": "Filter matches by tournament.",
            "collectionFormat": "multi",
            "items": {
              "type": "integer"
            }
          },
          {
            "name": "previous",
            "in": "query",
            "type": "integer",
            "description": "Number of matches before yesterday to limiting the returning matches."
          },
          {
            "name": "next",
            "in": "query",
            "type": "integer",
            "description": "Number of matches since yesterday to limiting the returning matches. The value includes yesterday."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "The response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n|Filter Items|Set locale|\n|:-----------|:-----------|\n|❌|✅|\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "array",
                  "description": "Array of scheduled matches, ordered by date and start time.",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the match.",
                            "example": 42
                          },
                          "live": {
                            "type": "boolean",
                            "description": "True when the match is currently running.",
                            "example": false
                          },
                          "in_break": {
                            "type": "boolean",
                            "description": "True when the match is currently in halftime break.",
                            "example": false
                          },
                          "has_overtime": {
                            "type": "boolean",
                            "description": "True when the match had a or is currently in first 15 minutes of overtime.",
                            "example": false
                          },
                          "has_overtime_2": {
                            "type": "boolean",
                            "description": "True when the match had a or is currently in second 15 minutes of overtime.",
                            "example": false
                          },
                          "has_penalty_shootout": {
                            "type": "boolean",
                            "description": "True when match had a or is currently in penalty shootout.",
                            "example": false
                          },
                          "start_date_time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time when the game starts.",
                            "example": "2016-08-22T20:45:00+02:00"
                          },
                          "start_date_time_quality": {
                            "type": "string",
                            "description": "| value      | description                                       |\n|:-----------|:--------------------------------------------------|\n| `assumed`  | `start_date_time` is planed but are not definite. |\n| `definite` | `start_date_time` is definite.                    |\n",
                            "enum": [
                              "assumed",
                              "definite"
                            ]
                          },
                          "start_weekday": {
                            "type": "string",
                            "description": "Day of week in which the match starts.",
                            "example": "wednesday"
                          },
                          "event_status": {
                            "type": "string",
                            "description": "State of the match.\n\n| value         | description                     |\n|:--------------|:--------------------------------|\n| `pre-event`   | upcoming match                  |\n| `post-event`  | past match                      |\n| `mid-event`   | running match                   |\n| `halted`      | match aborted                   |\n| `canceled`    | match was canceled              |\n| `forfeited`   | match was decided off the field |\n| `postponed`   | match was postponed             |\n| `rescheduled` | match was given a new date      |\n| `delayed`     | match started later             |\n",
                            "enum": [
                              "pre-event",
                              "post-event",
                              "mid-event",
                              "halted",
                              "canceled",
                              "forfeited",
                              "postponed",
                              "rescheduled",
                              "delayed"
                            ]
                          },
                          "group": {
                            "allOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "description": "ID of group.",
                                    "example": 6
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of group.",
                                    "example": "Gruppe F"
                                  }
                                }
                              },
                              {
                                "description": "Group the match is placed in."
                              }
                            ]
                          },
                          "site": {
                            "allOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "description": "ID of location.",
                                    "example": 45
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of the location.",
                                    "example": "Red Bull Arena"
                                  },
                                  "built": {
                                    "type": "integer",
                                    "description": "Year when the venue was built.",
                                    "example": 2004
                                  },
                                  "roof": {
                                    "type": "boolean",
                                    "description": "True when venue has a roof."
                                  },
                                  "seats": {
                                    "type": "integer",
                                    "description": "Number of seats/capacity.",
                                    "example": 42959
                                  },
                                  "surface": {
                                    "type": "string",
                                    "description": "Surface of the stadium.",
                                    "enum": [
                                      "artificial_turf",
                                      "turf"
                                    ],
                                    "example": "turf"
                                  },
                                  "url": {
                                    "type": "string",
                                    "description": "URL to the website of the venue.",
                                    "example": "www.sportforum-leipzig.com"
                                  },
                                  "city": {
                                    "type": "string",
                                    "description": "City of the venue.",
                                    "example": "Leipzig"
                                  },
                                  "postal_code": {
                                    "type": "string",
                                    "description": "Postal code of the location.",
                                    "example": "04105"
                                  },
                                  "street": {
                                    "type": "string",
                                    "description": "Street of the location.",
                                    "example": "Am Sportforum, 3"
                                  },
                                  "lat": {
                                    "type": "number",
                                    "format": "float",
                                    "description": "Latitude of the location."
                                  },
                                  "lng": {
                                    "type": "number",
                                    "format": "float",
                                    "description": "Longitude of the location."
                                  },
                                  "pitch": {
                                    "type": "object",
                                    "description": "Size of the pitch.",
                                    "properties": {
                                      "x": {
                                        "type": "integer",
                                        "description": "Length of the pitch.",
                                        "example": 105
                                      },
                                      "y": {
                                        "type": "integer",
                                        "description": "Width of the pitch.",
                                        "example": 68
                                      }
                                    }
                                  }
                                }
                              },
                              {
                                "description": "Location where the match will happen."
                              }
                            ]
                          },
                          "teams": {
                            "type": "array",
                            "description": "List of teams for this match.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "description": "ID of the team.",
                                  "example": 1401830
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of the team.",
                                  "example": "SV Eintracht Trier 05"
                                },
                                "nickname": {
                                  "type": "string",
                                  "description": "Nickname of the team."
                                },
                                "handle": {
                                  "type": "string",
                                  "description": "Handle of the team."
                                },
                                "lineup_complete": {
                                  "type": "string",
                                  "description": "True when lineup is completed."
                                },
                                "alignment": {
                                  "type": "string",
                                  "description": "Alignment of the team.",
                                  "enum": [
                                    "away",
                                    "home"
                                  ]
                                },
                                "score": {
                                  "allOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "final": {
                                          "description": "Final score of the match.",
                                          "type": "integer"
                                        },
                                        "period_1": {
                                          "description": "Score in the first period.",
                                          "type": "integer"
                                        },
                                        "period_2": {
                                          "description": "Score in the second period.",
                                          "type": "integer"
                                        },
                                        "period_3": {
                                          "description": "Score in the first period of overtime.",
                                          "type": "integer"
                                        },
                                        "period_4": {
                                          "description": "Score in the second period of overtime.",
                                          "type": "integer"
                                        },
                                        "period_5": {
                                          "description": "Score in the penalty shootout.",
                                          "type": "integer"
                                        }
                                      }
                                    },
                                    {
                                      "description": "Score of this team in this match."
                                    }
                                  ]
                                },
                                "club": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "description": "ID of the club. This **SHALL NOT** change for a club.",
                                      "example": 81
                                    },
                                    "link": {
                                      "type": "string",
                                      "description": "API-URL to this club."
                                    },
                                    "emblem": {
                                      "type": "object",
                                      "description": "The club emblem in different resolutions.",
                                      "properties": {
                                        "medium": {
                                          "type": "string",
                                          "description": "URL to the image in medium resolution (300x300>)."
                                        },
                                        "mini": {
                                          "type": "string",
                                          "description": "URL to the image in mini resolution (36x36>)."
                                        },
                                        "small": {
                                          "type": "string",
                                          "description": "URL to the image in mini resolution (70x70>)."
                                        }
                                      }
                                    }
                                  }
                                },
                                "liveticker": {
                                  "type": "object",
                                  "description": "Informations about the liveticker.",
                                  "properties": {
                                    "comments_available": {
                                      "type": "boolean",
                                      "description": "True when liveticker comments are available."
                                    }
                                  }
                                },
                                "matchday": {
                                  "type": "object",
                                  "description": "Informations about the matchday.",
                                  "properties": {
                                    "available": {
                                      "type": "boolean",
                                      "description": "True when matchday is available."
                                    },
                                    "live": {
                                      "type": "boolean",
                                      "description": "True when matchday is currently live."
                                    },
                                    "link": {
                                      "type": "string",
                                      "description": "API URL to the matchday."
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "video_id": {
                            "type": "integer",
                            "description": "This match's associated video ID, if existent."
                          },
                          "match_name": {
                            "type": "string",
                            "description": "optional name of the match."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "tournament": {
                            "allOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "description": "ID of tournament.",
                                    "example": 1
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of tournament.",
                                    "example": "Bundesliga"
                                  },
                                  "handle": {
                                    "type": "string",
                                    "description": "Handle of tournament.",
                                    "example": "BUNDESLIGA"
                                  },
                                  "number_of_rounds": {
                                    "type": "integer",
                                    "description": "Number of rounds in this tournament.\nIs `null` when the tournaments has no rounds.\n",
                                    "example": 34
                                  },
                                  "seasons_link": {
                                    "type": "string",
                                    "description": "API URL to seasons endpoint of this tournament"
                                  },
                                  "logo": {
                                    "type": "object",
                                    "description": "URL to logo in different resultions.",
                                    "properties": {
                                      "medium": {
                                        "type": "string",
                                        "description": "URL to logo in medium resolution (300x300)."
                                      },
                                      "mini": {
                                        "type": "string",
                                        "description": "URL to logo in mini resolution (30x30)."
                                      },
                                      "icon_mini": {
                                        "type": "string",
                                        "description": "URL to logo in icon resolution (24x24)."
                                      }
                                    }
                                  }
                                }
                              },
                              {
                                "description": "Tournament the match belongs to."
                              }
                            ]
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "season": {
                            "allOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "description": "ID of the season.",
                                    "example": 1573213
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of the season.",
                                    "example": "2016/2017"
                                  },
                                  "tournament_id": {
                                    "type": "integer",
                                    "description": "ID of tournament where season belongs to.",
                                    "example": 3
                                  },
                                  "number_of_rounds": {
                                    "type": "integer",
                                    "description": "Number of rounds in this season.",
                                    "example": 7
                                  },
                                  "season_teams_link": {
                                    "type": "string",
                                    "description": "API URL to teams endpoint fot this season"
                                  },
                                  "season_standing_link": {
                                    "type": "string",
                                    "description": "API URL to standing endpoint fot this season"
                                  },
                                  "season_schedule_link": {
                                    "type": "string",
                                    "description": "API URL to schedule endpoint fot this season"
                                  },
                                  "season_goalgetter_link": {
                                    "type": "string",
                                    "description": "API URL to goalgetter endpoint fot this season"
                                  },
                                  "season_scorer_link": {
                                    "type": "string",
                                    "description": "API URL to scorer endpoint fot this season"
                                  },
                                  "season_fairness_link": {
                                    "type": "string",
                                    "description": "API URL to fairness endpoint fot this season"
                                  }
                                }
                              },
                              {
                                "description": "Season the match belongs to."
                              }
                            ]
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "round": {
                            "allOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "description": "ID of round.",
                                    "example": 2
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of round.",
                                    "example": "2. Spieltag"
                                  }
                                }
                              },
                              {
                                "description": "Round the match belongs to."
                              }
                            ]
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "division": {
                            "allOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "description": "The id of the division",
                                    "example": 1
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of the division\n\n**NOTE**: the info will always be in the locale which is provide\n",
                                    "example": "First half of the season"
                                  }
                                }
                              },
                              {
                                "description": "Division the match belongs to."
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/custom_fields": {
      "get": {
        "tags": [
          "Custom Field"
        ],
        "summary": "Custom Fields",
        "description": "Returns a list of custom fields.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of custom fields.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Unique internal id.",
                        "example": 1
                      },
                      "key": {
                        "type": "string",
                        "description": "Unique identifier.",
                        "example": "de_activities_fanshop_url"
                      },
                      "value": {
                        "type": "string",
                        "description": "Content of the key.",
                        "example": "https://shop.bvb.de/"
                      },
                      "category": {
                        "type": "string",
                        "description": "Category for custom field.",
                        "example": "Custom Category"
                      },
                      "description": {
                        "type": "string",
                        "description": "Description which explain how this key/value should be used.",
                        "example": "URL to german fanshop. Used on activities stream in mobile apps."
                      },
                      "json_format": {
                        "type": "boolean",
                        "description": "indicates if value should be a json. if true the field value is validated to be json",
                        "example": false
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "post": {
        "tags": [
          "Custom Field"
        ],
        "summary": "Custom Field",
        "description": "Creates a Custom Field.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "custom_field",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "custom_field": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Unique identifier.",
                      "example": "de_activities_fanshop_url"
                    },
                    "value": {
                      "type": "string",
                      "description": "Content of the key.",
                      "example": "https://shop.bvb.de/"
                    },
                    "description": {
                      "type": "string",
                      "description": "Description which explain how this key/value should be used.",
                      "example": "URL to german fanshop. Used on activities stream in mobile apps."
                    },
                    "category": {
                      "type": "string",
                      "description": "Name for the category",
                      "example": "Custom Category"
                    },
                    "json_format": {
                      "type": "boolean",
                      "description": "indicates if value should be a json. if true the field value is validated to be json",
                      "example": false
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "Unique internal id.",
                  "example": 1
                },
                "key": {
                  "type": "string",
                  "description": "Unique identifier.",
                  "example": "de_activities_fanshop_url"
                },
                "value": {
                  "type": "string",
                  "description": "Content of the key.",
                  "example": "https://shop.bvb.de/"
                },
                "category": {
                  "type": "string",
                  "description": "Category for custom field.",
                  "example": "Custom Category"
                },
                "description": {
                  "type": "string",
                  "description": "Description which explain how this key/value should be used.",
                  "example": "URL to german fanshop. Used on activities stream in mobile apps."
                },
                "json_format": {
                  "type": "boolean",
                  "description": "indicates if value should be a json. if true the field value is validated to be json",
                  "example": false
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/custom_fields/{id}": {
      "put": {
        "tags": [
          "Custom Field"
        ],
        "summary": "Custom Field",
        "description": "Updates a Custom Field.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the custom field."
          },
          {
            "name": "custom_field",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "custom_field": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Unique identifier.",
                      "example": "de_activities_fanshop_url"
                    },
                    "value": {
                      "type": "string",
                      "description": "Content of the key.",
                      "example": "https://shop.bvb.de/"
                    },
                    "description": {
                      "type": "string",
                      "description": "Description which explain how this key/value should be used.",
                      "example": "URL to german fanshop. Used on activities stream in mobile apps."
                    },
                    "category": {
                      "type": "string",
                      "description": "Name for the category",
                      "example": "Custom Category"
                    },
                    "json_format": {
                      "type": "boolean",
                      "description": "indicates if value should be a json. if true the field value is validated to be json",
                      "example": false
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "Unique internal id.",
                  "example": 1
                },
                "key": {
                  "type": "string",
                  "description": "Unique identifier.",
                  "example": "de_activities_fanshop_url"
                },
                "value": {
                  "type": "string",
                  "description": "Content of the key.",
                  "example": "https://shop.bvb.de/"
                },
                "category": {
                  "type": "string",
                  "description": "Category for custom field.",
                  "example": "Custom Category"
                },
                "description": {
                  "type": "string",
                  "description": "Description which explain how this key/value should be used.",
                  "example": "URL to german fanshop. Used on activities stream in mobile apps."
                },
                "json_format": {
                  "type": "boolean",
                  "description": "indicates if value should be a json. if true the field value is validated to be json",
                  "example": false
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Custom Field"
        ],
        "summary": "Custom Field",
        "description": "Deletes a Custom Field.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the custom field."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/events": {
      "get": {
        "tags": [
          "EventMode"
        ],
        "summary": "Events",
        "description": "Returns a list of event_mode events for the club.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "since",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items after that time."
          },
          {
            "name": "until",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items before that time."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of events.",
                  "items": {
                    "type": "object",
                    "required": [
                      "name",
                      "start_date_time",
                      "stream",
                      "site"
                    ],
                    "properties": {
                      "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 42,
                        "description": "ID of the events."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the events."
                      },
                      "live": {
                        "type": "boolean",
                        "description": "Live status of the event.",
                        "example": true
                      },
                      "images": {
                        "type": "array",
                        "description": "List of images.",
                        "minItems": 1,
                        "items": {
                          "type": "object",
                          "required": [
                            "url"
                          ],
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL of the image.",
                              "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                            },
                            "width": {
                              "type": "integer",
                              "readOnly": true,
                              "description": "Width of the image.",
                              "example": 1140
                            },
                            "height": {
                              "type": "integer",
                              "readOnly": true,
                              "description": "Height of the image.",
                              "example": 840
                            },
                            "orientation": {
                              "type": "string",
                              "readOnly": true,
                              "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                              "example": "landscape"
                            },
                            "size": {
                              "type": "object",
                              "description": "Different sizes of the teaser image.",
                              "readOnly": true,
                              "properties": {
                                "small": {
                                  "type": "string",
                                  "description": "URL to the small sized image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "medium": {
                                  "type": "string",
                                  "description": "URL to the medium sized image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "large": {
                                  "type": "string",
                                  "description": "URL to the large sized image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                }
                              }
                            }
                          }
                        }
                      },
                      "sponsor": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "description": "Name of the sponsor.",
                            "example": "Adidas"
                          },
                          "logo": {
                            "type": "object",
                            "required": [
                              "url"
                            ],
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL of the image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              },
                              "width": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "Width of the image.",
                                "example": 1140
                              },
                              "height": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "Height of the image.",
                                "example": 840
                              },
                              "orientation": {
                                "type": "string",
                                "readOnly": true,
                                "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                "example": "landscape"
                              },
                              "size": {
                                "type": "object",
                                "description": "Different sizes of the teaser image.",
                                "readOnly": true,
                                "properties": {
                                  "small": {
                                    "type": "string",
                                    "description": "URL to the small sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL to the medium sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "large": {
                                    "type": "string",
                                    "description": "URL to the large sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  }
                                }
                              }
                            },
                            "description": "Logo of the sponsor."
                          }
                        }
                      },
                      "start_weekday": {
                        "type": "string",
                        "description": "Day of week in which the match starts.",
                        "example": "wednesday"
                      },
                      "start_date_time": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the game starts.",
                        "example": "2016-08-22T20:45:00+02:00"
                      },
                      "club": {
                        "type": "object",
                        "description": "Club to which the event belongs.",
                        "items": {
                          "type": "object",
                          "description": "The club the team belongs to.",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "The Club id.",
                              "example": 33
                            },
                            "link": {
                              "type": "string",
                              "description": "The url to the club resource in the api."
                            },
                            "emblem": {
                              "type": "object",
                              "description": "The club emblem in different resolutions.",
                              "properties": {
                                "mini": {
                                  "type": "string",
                                  "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                                },
                                "small": {
                                  "type": "string",
                                  "description": "URL of the club emblem in a small resolution (70px by 70px)."
                                },
                                "medium": {
                                  "type": "string",
                                  "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                                }
                              }
                            }
                          }
                        }
                      },
                      "stream": {
                        "type": "object",
                        "description": "Stream for the event.",
                        "properties": {
                          "available": {
                            "type": "boolean",
                            "description": "Stream available for this event or not.",
                            "example": true
                          },
                          "live": {
                            "type": "boolean",
                            "description": "If the stream has started (based on start date/time for the stream)",
                            "example": false
                          },
                          "link": {
                            "type": "string",
                            "description": "Api link to the stream",
                            "example": "https://clubplatform.de/api/clubs/1/events/13/streams/1"
                          }
                        }
                      },
                      "site": {
                        "allOf": [
                          {
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string",
                                "description": "Name of the location.",
                                "example": "Red Bull Arena"
                              },
                              "city": {
                                "type": "string",
                                "description": "City of the venue.",
                                "example": "Leipzig"
                              },
                              "postal_code": {
                                "type": "string",
                                "description": "Postal code of the location.",
                                "example": "04105"
                              },
                              "street": {
                                "type": "string",
                                "description": "Street of the location.",
                                "example": "Am Sportforum, 3"
                              }
                            }
                          },
                          {
                            "description": "Location where the match will happen."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/events/{event_id}/activities": {
      "get": {
        "tags": [
          "EventMode"
        ],
        "summary": "Activities",
        "description": "Returns a list of event activities.",
        "parameters": [
          {
            "name": "event_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the event."
          },
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "until",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items before that time."
          },
          {
            "name": "types[]",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "List of activity source types to include (whitelist) in the response\ne.g. `types[]=facebook_post&types[]=youtube_video`.\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "x-extendedDiscriminator": "type",
                    "discriminator": "type",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the actvity."
                      },
                      "comment": {
                        "type": "string",
                        "description": "Comment of the activity."
                      },
                      "published_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the activity was published."
                      },
                      "image": {
                        "type": "object",
                        "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                        "properties": {
                          "medium": {
                            "type": "object",
                            "description": "Image with max size of 640 x 640 pixels.",
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL to a video if the activity source contains one."
                              }
                            }
                          }
                        }
                      },
                      "image_url": {
                        "type": "string",
                        "description": "URL to the image referenced by the activity."
                      },
                      "image_width": {
                        "type": "integer",
                        "description": "Width in pixels of the image."
                      },
                      "image_height": {
                        "type": "integer",
                        "description": "Height in pixels of the image."
                      },
                      "send_as_notification": {
                        "type": "boolean",
                        "description": "True if the activity was send as notification."
                      },
                      "profile_image_url": {
                        "type": "boolean",
                        "description": "URL to the profile image referenced by the activity."
                      },
                      "account": {
                        "type": "object",
                        "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of the attached source."
                      },
                      "external_id": {
                        "type": "string",
                        "description": "External ID of the activity."
                      },
                      "external_url": {
                        "type": "string",
                        "description": "External URL of the activity."
                      },
                      "video_url": {
                        "type": "string",
                        "description": "URL to a video if the activity source contains one."
                      }
                    }
                  }
                ]
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Permission denied"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/files": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Files",
        "description": "Returns a list of files.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "keywords[]",
            "in": "query",
            "description": "List of keywords to filter the result. File **MUST** contain every keyword to match this filter.",
            "collectionFormat": "multi",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of files.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "handle": {
                        "type": "string",
                        "description": "Handle of the file. This replaces the ID.",
                        "example": "android_phone_splash_hdpi"
                      },
                      "url": {
                        "type": "string",
                        "description": "URL to the file."
                      },
                      "keywords": {
                        "type": "array",
                        "description": "List of keywords.",
                        "items": {
                          "type": "string"
                        }
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "teaser_image": {
                        "allOf": [
                          {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL to the teaser image."
                              },
                              "height": {
                                "type": "integer",
                                "description": "Height in pixel of the teaser image."
                              },
                              "width": {
                                "type": "integer",
                                "description": "Width in pixel of the teaser image."
                              }
                            }
                          },
                          {
                            "description": "Informations of the teaser image. If not set this is null."
                          }
                        ]
                      },
                      "title": {
                        "type": "string",
                        "description": "Title to the file."
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/files/{handle}": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "File",
        "description": "Returns a file by handler.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "handle",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "Handle of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "handle": {
                      "type": "string",
                      "description": "Handle of the file. This replaces the ID.",
                      "example": "android_phone_splash_hdpi"
                    },
                    "url": {
                      "type": "string",
                      "description": "URL to the file."
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "teaser_image": {
                      "allOf": [
                        {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL to the teaser image."
                            },
                            "height": {
                              "type": "integer",
                              "description": "Height in pixel of the teaser image."
                            },
                            "width": {
                              "type": "integer",
                              "description": "Width in pixel of the teaser image."
                            }
                          }
                        },
                        {
                          "description": "Informations of the teaser image. If not set this is null."
                        }
                      ]
                    },
                    "title": {
                      "type": "string",
                      "description": "Title to the file."
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/galleries": {
      "get": {
        "tags": [
          "Gallery"
        ],
        "summary": "Galleries",
        "description": "Returns a list of galleries.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "since",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items after that time."
          },
          {
            "name": "until",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items before that time."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "sort_images_by",
            "in": "query",
            "type": "string",
            "default": "position",
            "description": "Attribute to sort gallery images by."
          },
          {
            "name": "order_images_by",
            "in": "query",
            "default": "asc",
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Order of gallery images."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of galleries.",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "title",
                          "category",
                          "external_id"
                        ],
                        "properties": {
                          "id": {
                            "type": "integer",
                            "readOnly": true,
                            "description": "ID of the gallery.",
                            "example": 42
                          },
                          "title": {
                            "type": "string",
                            "description": "Name of the gallery.",
                            "example": "Torschützen"
                          },
                          "subhead": {
                            "type": "string",
                            "description": "Subhead of the gallery."
                          },
                          "description": {
                            "type": "string",
                            "description": "Description of the gallery."
                          },
                          "category": {
                            "type": "string",
                            "description": "Category of the gallery.",
                            "example": "Matchday"
                          },
                          "keywords": {
                            "type": "array",
                            "description": "List of keywords of the gallery.",
                            "items": {
                              "type": "string"
                            }
                          },
                          "external_id": {
                            "type": "string",
                            "description": "ID from an external system of the gallery."
                          },
                          "external_landing_page_url": {
                            "type": "string",
                            "description": "URL to landing page for teh gallery."
                          },
                          "locale": {
                            "type": "string",
                            "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                            "example": "de-DE",
                            "pattern": "[a-z]{2}-[A-Z]{2}"
                          },
                          "images": {
                            "type": "array",
                            "readOnly": true,
                            "description": "List of images in this gallery.",
                            "items": {
                              "allOf": [
                                {
                                  "type": "object",
                                  "required": [
                                    "external_id",
                                    "external_image_url"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "readOnly": true,
                                      "description": "ID of the image."
                                    },
                                    "position": {
                                      "type": "integer",
                                      "minimum": 0,
                                      "description": "Position of image in the gallery. Set to `null` to append."
                                    },
                                    "teaser": {
                                      "type": "boolean",
                                      "description": "True sets this image as teaser for the gallery."
                                    },
                                    "title": {
                                      "type": "string",
                                      "description": "Title of the image."
                                    },
                                    "description": {
                                      "type": "string",
                                      "description": "Description of the image."
                                    },
                                    "copyright": {
                                      "type": "string",
                                      "description": "Copyright notic of the image."
                                    },
                                    "keywords": {
                                      "type": "array",
                                      "description": "List of keywords.",
                                      "items": {
                                        "type": "string"
                                      }
                                    },
                                    "external_id": {
                                      "type": "string",
                                      "description": "ID of the image in an external system."
                                    },
                                    "external_image_url": {
                                      "type": "string",
                                      "description": "URL where the image is downloaded from."
                                    },
                                    "external_landing_page_url": {
                                      "type": "string",
                                      "description": "URL to a landing page."
                                    },
                                    "url": {
                                      "type": "string",
                                      "readOnly": true,
                                      "description": "URL to the image."
                                    },
                                    "locale": {
                                      "allOf": [
                                        {
                                          "type": "string",
                                          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                                          "example": "de-DE",
                                          "pattern": "[a-z]{2}-[A-Z]{2}"
                                        },
                                        {
                                          "readOnly": true
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "width": {
                                      "type": "integer",
                                      "description": "Width of the image in pixels."
                                    },
                                    "height": {
                                      "type": "integer",
                                      "description": "Height of the image in pixels."
                                    },
                                    "size": {
                                      "type": "object",
                                      "description": "URL to teaser image in different resolution.",
                                      "properties": {
                                        "preview": {
                                          "type": "string"
                                        },
                                        "overview": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "teaser_images": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "description": "URL to the teaser image."
                                },
                                "width": {
                                  "type": "integer",
                                  "description": "Width of the image."
                                },
                                "height": {
                                  "type": "integer",
                                  "description": "Height of the image."
                                },
                                "title": {
                                  "type": "string",
                                  "description": "Title of the image."
                                },
                                "description": {
                                  "type": "string",
                                  "description": "Description of the image."
                                },
                                "external_landing_page_url": {
                                  "type": "string",
                                  "description": "URL to a landing page for the image."
                                },
                                "size": {
                                  "type": "object",
                                  "description": "URL to teaser image in different resolution.",
                                  "properties": {
                                    "preview": {
                                      "type": "string"
                                    },
                                    "overview": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "post": {
        "tags": [
          "Gallery"
        ],
        "summary": "Gallery",
        "description": "Create a new gallery.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "gallery",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "gallery"
              ],
              "properties": {
                "gallery": {
                  "type": "object",
                  "required": [
                    "title",
                    "category",
                    "external_id"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "ID of the gallery.",
                      "example": 42
                    },
                    "title": {
                      "type": "string",
                      "description": "Name of the gallery.",
                      "example": "Torschützen"
                    },
                    "subhead": {
                      "type": "string",
                      "description": "Subhead of the gallery."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the gallery."
                    },
                    "category": {
                      "type": "string",
                      "description": "Category of the gallery.",
                      "example": "Matchday"
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords of the gallery.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "external_id": {
                      "type": "string",
                      "description": "ID from an external system of the gallery."
                    },
                    "external_landing_page_url": {
                      "type": "string",
                      "description": "URL to landing page for teh gallery."
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "images": {
                      "type": "array",
                      "readOnly": true,
                      "description": "List of images in this gallery.",
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "external_id",
                              "external_image_url"
                            ],
                            "properties": {
                              "id": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "ID of the image."
                              },
                              "position": {
                                "type": "integer",
                                "minimum": 0,
                                "description": "Position of image in the gallery. Set to `null` to append."
                              },
                              "teaser": {
                                "type": "boolean",
                                "description": "True sets this image as teaser for the gallery."
                              },
                              "title": {
                                "type": "string",
                                "description": "Title of the image."
                              },
                              "description": {
                                "type": "string",
                                "description": "Description of the image."
                              },
                              "copyright": {
                                "type": "string",
                                "description": "Copyright notic of the image."
                              },
                              "keywords": {
                                "type": "array",
                                "description": "List of keywords.",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "external_id": {
                                "type": "string",
                                "description": "ID of the image in an external system."
                              },
                              "external_image_url": {
                                "type": "string",
                                "description": "URL where the image is downloaded from."
                              },
                              "external_landing_page_url": {
                                "type": "string",
                                "description": "URL to a landing page."
                              },
                              "url": {
                                "type": "string",
                                "readOnly": true,
                                "description": "URL to the image."
                              },
                              "locale": {
                                "allOf": [
                                  {
                                    "type": "string",
                                    "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                                    "example": "de-DE",
                                    "pattern": "[a-z]{2}-[A-Z]{2}"
                                  },
                                  {
                                    "readOnly": true
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "object",
                            "properties": {
                              "width": {
                                "type": "integer",
                                "description": "Width of the image in pixels."
                              },
                              "height": {
                                "type": "integer",
                                "description": "Height of the image in pixels."
                              },
                              "size": {
                                "type": "object",
                                "description": "URL to teaser image in different resolution.",
                                "properties": {
                                  "preview": {
                                    "type": "string"
                                  },
                                  "overview": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "required": [
                    "title",
                    "category",
                    "external_id"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "ID of the gallery.",
                      "example": 42
                    },
                    "title": {
                      "type": "string",
                      "description": "Name of the gallery.",
                      "example": "Torschützen"
                    },
                    "subhead": {
                      "type": "string",
                      "description": "Subhead of the gallery."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the gallery."
                    },
                    "category": {
                      "type": "string",
                      "description": "Category of the gallery.",
                      "example": "Matchday"
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords of the gallery.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "external_id": {
                      "type": "string",
                      "description": "ID from an external system of the gallery."
                    },
                    "external_landing_page_url": {
                      "type": "string",
                      "description": "URL to landing page for teh gallery."
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "images": {
                      "type": "array",
                      "readOnly": true,
                      "description": "List of images in this gallery.",
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "external_id",
                              "external_image_url"
                            ],
                            "properties": {
                              "id": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "ID of the image."
                              },
                              "position": {
                                "type": "integer",
                                "minimum": 0,
                                "description": "Position of image in the gallery. Set to `null` to append."
                              },
                              "teaser": {
                                "type": "boolean",
                                "description": "True sets this image as teaser for the gallery."
                              },
                              "title": {
                                "type": "string",
                                "description": "Title of the image."
                              },
                              "description": {
                                "type": "string",
                                "description": "Description of the image."
                              },
                              "copyright": {
                                "type": "string",
                                "description": "Copyright notic of the image."
                              },
                              "keywords": {
                                "type": "array",
                                "description": "List of keywords.",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "external_id": {
                                "type": "string",
                                "description": "ID of the image in an external system."
                              },
                              "external_image_url": {
                                "type": "string",
                                "description": "URL where the image is downloaded from."
                              },
                              "external_landing_page_url": {
                                "type": "string",
                                "description": "URL to a landing page."
                              },
                              "url": {
                                "type": "string",
                                "readOnly": true,
                                "description": "URL to the image."
                              },
                              "locale": {
                                "allOf": [
                                  {
                                    "type": "string",
                                    "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                                    "example": "de-DE",
                                    "pattern": "[a-z]{2}-[A-Z]{2}"
                                  },
                                  {
                                    "readOnly": true
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "object",
                            "properties": {
                              "width": {
                                "type": "integer",
                                "description": "Width of the image in pixels."
                              },
                              "height": {
                                "type": "integer",
                                "description": "Height of the image in pixels."
                              },
                              "size": {
                                "type": "object",
                                "description": "URL to teaser image in different resolution.",
                                "properties": {
                                  "preview": {
                                    "type": "string"
                                  },
                                  "overview": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/galleries/{gallery_id}/images": {
      "post": {
        "tags": [
          "Image"
        ],
        "summary": "Image",
        "description": "Creates an image.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "gallery_id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the gallery."
          },
          {
            "name": "image",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "image"
              ],
              "properties": {
                "image": {
                  "type": "object",
                  "required": [
                    "external_id",
                    "external_image_url"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "ID of the image."
                    },
                    "position": {
                      "type": "integer",
                      "minimum": 0,
                      "description": "Position of image in the gallery. Set to `null` to append."
                    },
                    "teaser": {
                      "type": "boolean",
                      "description": "True sets this image as teaser for the gallery."
                    },
                    "title": {
                      "type": "string",
                      "description": "Title of the image."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the image."
                    },
                    "copyright": {
                      "type": "string",
                      "description": "Copyright notic of the image."
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "external_id": {
                      "type": "string",
                      "description": "ID of the image in an external system."
                    },
                    "external_image_url": {
                      "type": "string",
                      "description": "URL where the image is downloaded from."
                    },
                    "external_landing_page_url": {
                      "type": "string",
                      "description": "URL to a landing page."
                    },
                    "url": {
                      "type": "string",
                      "readOnly": true,
                      "description": "URL to the image."
                    },
                    "locale": {
                      "allOf": [
                        {
                          "type": "string",
                          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                          "example": "de-DE",
                          "pattern": "[a-z]{2}-[A-Z]{2}"
                        },
                        {
                          "readOnly": true
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "required": [
                    "external_id",
                    "external_image_url"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "ID of the image."
                    },
                    "position": {
                      "type": "integer",
                      "minimum": 0,
                      "description": "Position of image in the gallery. Set to `null` to append."
                    },
                    "teaser": {
                      "type": "boolean",
                      "description": "True sets this image as teaser for the gallery."
                    },
                    "title": {
                      "type": "string",
                      "description": "Title of the image."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the image."
                    },
                    "copyright": {
                      "type": "string",
                      "description": "Copyright notic of the image."
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "external_id": {
                      "type": "string",
                      "description": "ID of the image in an external system."
                    },
                    "external_image_url": {
                      "type": "string",
                      "description": "URL where the image is downloaded from."
                    },
                    "external_landing_page_url": {
                      "type": "string",
                      "description": "URL to a landing page."
                    },
                    "url": {
                      "type": "string",
                      "readOnly": true,
                      "description": "URL to the image."
                    },
                    "locale": {
                      "allOf": [
                        {
                          "type": "string",
                          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                          "example": "de-DE",
                          "pattern": "[a-z]{2}-[A-Z]{2}"
                        },
                        {
                          "readOnly": true
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/galleries/{gallery_id}/images/{id}": {
      "delete": {
        "tags": [
          "Image"
        ],
        "summary": "Image",
        "description": "Removes the image.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "gallery_id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the gallery."
          },
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the image."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/galleries/{id}": {
      "get": {
        "tags": [
          "Gallery"
        ],
        "summary": "Gallery",
        "description": "Returns a gallery with all its images.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the gallery."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "sort_images_by",
            "in": "query",
            "type": "string",
            "default": "position",
            "description": "Attribute to sort gallery images by."
          },
          {
            "name": "order_images_by",
            "in": "query",
            "default": "asc",
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Order of gallery images."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "required": [
                    "title",
                    "category",
                    "external_id"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "ID of the gallery.",
                      "example": 42
                    },
                    "title": {
                      "type": "string",
                      "description": "Name of the gallery.",
                      "example": "Torschützen"
                    },
                    "subhead": {
                      "type": "string",
                      "description": "Subhead of the gallery."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the gallery."
                    },
                    "category": {
                      "type": "string",
                      "description": "Category of the gallery.",
                      "example": "Matchday"
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords of the gallery.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "external_id": {
                      "type": "string",
                      "description": "ID from an external system of the gallery."
                    },
                    "external_landing_page_url": {
                      "type": "string",
                      "description": "URL to landing page for teh gallery."
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "images": {
                      "type": "array",
                      "readOnly": true,
                      "description": "List of images in this gallery.",
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "external_id",
                              "external_image_url"
                            ],
                            "properties": {
                              "id": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "ID of the image."
                              },
                              "position": {
                                "type": "integer",
                                "minimum": 0,
                                "description": "Position of image in the gallery. Set to `null` to append."
                              },
                              "teaser": {
                                "type": "boolean",
                                "description": "True sets this image as teaser for the gallery."
                              },
                              "title": {
                                "type": "string",
                                "description": "Title of the image."
                              },
                              "description": {
                                "type": "string",
                                "description": "Description of the image."
                              },
                              "copyright": {
                                "type": "string",
                                "description": "Copyright notic of the image."
                              },
                              "keywords": {
                                "type": "array",
                                "description": "List of keywords.",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "external_id": {
                                "type": "string",
                                "description": "ID of the image in an external system."
                              },
                              "external_image_url": {
                                "type": "string",
                                "description": "URL where the image is downloaded from."
                              },
                              "external_landing_page_url": {
                                "type": "string",
                                "description": "URL to a landing page."
                              },
                              "url": {
                                "type": "string",
                                "readOnly": true,
                                "description": "URL to the image."
                              },
                              "locale": {
                                "allOf": [
                                  {
                                    "type": "string",
                                    "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                                    "example": "de-DE",
                                    "pattern": "[a-z]{2}-[A-Z]{2}"
                                  },
                                  {
                                    "readOnly": true
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "object",
                            "properties": {
                              "width": {
                                "type": "integer",
                                "description": "Width of the image in pixels."
                              },
                              "height": {
                                "type": "integer",
                                "description": "Height of the image in pixels."
                              },
                              "size": {
                                "type": "object",
                                "description": "URL to teaser image in different resolution.",
                                "properties": {
                                  "preview": {
                                    "type": "string"
                                  },
                                  "overview": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Gallery"
        ],
        "summary": "Gallery",
        "description": "Removes a gallery.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the gallery."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/matches/{match_id}/match_commentary": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Commentary settings",
        "description": "Returns settings for activated commentary features in a match.\n\nYou **MUST** comply the settings to display the correct match events.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "headline": {
                      "type": "boolean",
                      "description": "True when comments have headlines."
                    },
                    "card_comments": {
                      "type": "boolean",
                      "description": "True when cards events are commentable."
                    },
                    "corner_comments": {
                      "type": "boolean",
                      "description": "True when corners events are commentable."
                    },
                    "goal_comments": {
                      "type": "boolean",
                      "description": "True when goals events are commentable."
                    },
                    "lineup_complete_comments": {
                      "type": "boolean",
                      "description": "True when lineup complete events are commentable."
                    },
                    "substitution_comments": {
                      "type": "boolean",
                      "description": "True when substitutions events are commentable."
                    },
                    "timetable_action_comments": {
                      "type": "boolean",
                      "description": "True when timetable action events are commentable."
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Permission denied"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/matches/{match_id}/match_events": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Events",
        "description": "Lists all events of a match in chronological order (oldest first).\n\nEach event can be commented, so this endpoints contains both versions of the event (commented and original version).\nYou **MUST** select the correct events on the client side.\nTo find out which event **MUST** be displayed you call the *Match Commentary* endpoint first.\n\nIt's possible that we add more events in the future.\nYou **MUST** handle unknown events. For example by ignoring all unknown events.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "match_id",
            "type": "integer",
            "in": "path",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "x-extendedDiscriminator": "event_type",
                    "discriminator": "event_type",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the event."
                      },
                      "comment": {
                        "type": "string",
                        "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                      },
                      "match_id": {
                        "type": "integer",
                        "description": "ID of match the event belongs to."
                      },
                      "season_id": {
                        "type": "integer",
                        "description": "ID of season the event belongs to."
                      },
                      "tournament_id": {
                        "type": "integer",
                        "description": "ID of tournament the event belongs to."
                      },
                      "time": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Time in which the event happened."
                      },
                      "event_type": {
                        "type": "string",
                        "description": "Type of the event."
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/matches/{match_id}/matchday": {
      "get": {
        "tags": [
          "Matchday"
        ],
        "summary": "Matchday",
        "description": "Returns matchday informations for the match.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "live": {
                  "type": "boolean",
                  "description": "True when the matchay is currently active."
                },
                "activities_link": {
                  "type": "string",
                  "description": "API URL to the activities endpoint of this matchday."
                },
                "galleries_link": {
                  "type": "string",
                  "description": "API URL to the galleries endpoint of this matchday."
                },
                "matchday_widget_link": {
                  "type": "string",
                  "description": "URL to the matchday widget of this matchday."
                },
                "starts_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Time to begin the matchday."
                },
                "ends_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Time to finish the matchday."
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Permission denied"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/matches/{match_id}/matchday/activities": {
      "get": {
        "tags": [
          "Matchday"
        ],
        "summary": "Activities",
        "description": "Returns a list of matchday activities.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "audience",
            "in": "query",
            "type": "string",
            "description": "Filter by audience handle."
          },
          {
            "name": "future",
            "in": "query",
            "type": "boolean",
            "description": "If true, only future activities are returned. Otherwise all activities are returned.\n"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "until",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items before that time."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "types[]",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "List of activity source types to include (whitelist) in the response\ne.g. `types[]=card_event&types[]=corner_event`.\n"
          },
          {
            "name": "include_parallel_match",
            "in": "query",
            "type": "boolean",
            "description": "Enables parallel match activities. Setting this param to true/false determines if parallel match activities are included or not in the response. \nIf it is left out then by default the parallel match activities will be included, if the club has the parallel match settings turned on.\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "x-extendedDiscriminator": "type",
                        "discriminator": "type",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the actvity."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment of the activity."
                          },
                          "published_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time when the activity was published."
                          },
                          "image": {
                            "type": "object",
                            "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                            "properties": {
                              "medium": {
                                "type": "object",
                                "description": "Image with max size of 640 x 640 pixels.",
                                "properties": {
                                  "url": {
                                    "type": "string",
                                    "description": "URL to a video if the activity source contains one."
                                  }
                                }
                              }
                            }
                          },
                          "image_url": {
                            "type": "string",
                            "description": "URL to the image referenced by the activity."
                          },
                          "image_width": {
                            "type": "integer",
                            "description": "Width in pixels of the image."
                          },
                          "image_height": {
                            "type": "integer",
                            "description": "Height in pixels of the image."
                          },
                          "send_as_notification": {
                            "type": "boolean",
                            "description": "True if the activity was send as notification."
                          },
                          "profile_image_url": {
                            "type": "boolean",
                            "description": "URL to the profile image referenced by the activity."
                          },
                          "account": {
                            "type": "object",
                            "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                          },
                          "type": {
                            "type": "string",
                            "description": "Type of the attached source."
                          },
                          "external_id": {
                            "type": "string",
                            "description": "External ID of the activity."
                          },
                          "external_url": {
                            "type": "string",
                            "description": "External URL of the activity."
                          },
                          "video_url": {
                            "type": "string",
                            "description": "URL to a video if the activity source contains one."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "audience": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "description": "ID of the audience."
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of the audience."
                                },
                                "handle": {
                                  "type": "string",
                                  "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                                }
                              }
                            }
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                          },
                          "injury_minutes_elapsed": {
                            "type": "integer",
                            "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Permission denied"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/matches/{match_id}/matchday/galleries": {
      "get": {
        "tags": [
          "Gallery"
        ],
        "summary": "Galleries for a Matchday",
        "description": "Returns a list of galleries associated with a matchday.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "sort_images_by",
            "in": "query",
            "type": "string",
            "default": "position",
            "description": "Attribute to sort gallery images by."
          },
          {
            "name": "order_images_by",
            "in": "query",
            "default": "asc",
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Order of gallery images."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of galleries.",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "title",
                          "category",
                          "external_id"
                        ],
                        "properties": {
                          "id": {
                            "type": "integer",
                            "readOnly": true,
                            "description": "ID of the gallery.",
                            "example": 42
                          },
                          "title": {
                            "type": "string",
                            "description": "Name of the gallery.",
                            "example": "Torschützen"
                          },
                          "subhead": {
                            "type": "string",
                            "description": "Subhead of the gallery."
                          },
                          "description": {
                            "type": "string",
                            "description": "Description of the gallery."
                          },
                          "category": {
                            "type": "string",
                            "description": "Category of the gallery.",
                            "example": "Matchday"
                          },
                          "keywords": {
                            "type": "array",
                            "description": "List of keywords of the gallery.",
                            "items": {
                              "type": "string"
                            }
                          },
                          "external_id": {
                            "type": "string",
                            "description": "ID from an external system of the gallery."
                          },
                          "external_landing_page_url": {
                            "type": "string",
                            "description": "URL to landing page for teh gallery."
                          },
                          "locale": {
                            "type": "string",
                            "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                            "example": "de-DE",
                            "pattern": "[a-z]{2}-[A-Z]{2}"
                          },
                          "images": {
                            "type": "array",
                            "readOnly": true,
                            "description": "List of images in this gallery.",
                            "items": {
                              "allOf": [
                                {
                                  "type": "object",
                                  "required": [
                                    "external_id",
                                    "external_image_url"
                                  ],
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "readOnly": true,
                                      "description": "ID of the image."
                                    },
                                    "position": {
                                      "type": "integer",
                                      "minimum": 0,
                                      "description": "Position of image in the gallery. Set to `null` to append."
                                    },
                                    "teaser": {
                                      "type": "boolean",
                                      "description": "True sets this image as teaser for the gallery."
                                    },
                                    "title": {
                                      "type": "string",
                                      "description": "Title of the image."
                                    },
                                    "description": {
                                      "type": "string",
                                      "description": "Description of the image."
                                    },
                                    "copyright": {
                                      "type": "string",
                                      "description": "Copyright notic of the image."
                                    },
                                    "keywords": {
                                      "type": "array",
                                      "description": "List of keywords.",
                                      "items": {
                                        "type": "string"
                                      }
                                    },
                                    "external_id": {
                                      "type": "string",
                                      "description": "ID of the image in an external system."
                                    },
                                    "external_image_url": {
                                      "type": "string",
                                      "description": "URL where the image is downloaded from."
                                    },
                                    "external_landing_page_url": {
                                      "type": "string",
                                      "description": "URL to a landing page."
                                    },
                                    "url": {
                                      "type": "string",
                                      "readOnly": true,
                                      "description": "URL to the image."
                                    },
                                    "locale": {
                                      "allOf": [
                                        {
                                          "type": "string",
                                          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                                          "example": "de-DE",
                                          "pattern": "[a-z]{2}-[A-Z]{2}"
                                        },
                                        {
                                          "readOnly": true
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "width": {
                                      "type": "integer",
                                      "description": "Width of the image in pixels."
                                    },
                                    "height": {
                                      "type": "integer",
                                      "description": "Height of the image in pixels."
                                    },
                                    "size": {
                                      "type": "object",
                                      "description": "URL to teaser image in different resolution.",
                                      "properties": {
                                        "preview": {
                                          "type": "string"
                                        },
                                        "overview": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "teaser_images": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "description": "URL to the teaser image."
                                },
                                "width": {
                                  "type": "integer",
                                  "description": "Width of the image."
                                },
                                "height": {
                                  "type": "integer",
                                  "description": "Height of the image."
                                },
                                "title": {
                                  "type": "string",
                                  "description": "Title of the image."
                                },
                                "description": {
                                  "type": "string",
                                  "description": "Description of the image."
                                },
                                "external_landing_page_url": {
                                  "type": "string",
                                  "description": "URL to a landing page for the image."
                                },
                                "size": {
                                  "type": "object",
                                  "description": "URL to teaser image in different resolution.",
                                  "properties": {
                                    "preview": {
                                      "type": "string"
                                    },
                                    "overview": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/matches/{match_id}/matchday/galleries/{id}": {
      "get": {
        "tags": [
          "Gallery"
        ],
        "summary": "Gallery for a Matchday",
        "description": "Returns a gallery if there are associated with the matchday.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the gallery."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "sort_images_by",
            "in": "query",
            "type": "string",
            "default": "position",
            "description": "Attribute to sort gallery images by."
          },
          {
            "name": "order_images_by",
            "in": "query",
            "default": "asc",
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Order of gallery images."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "required": [
                    "title",
                    "category",
                    "external_id"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "ID of the gallery.",
                      "example": 42
                    },
                    "title": {
                      "type": "string",
                      "description": "Name of the gallery.",
                      "example": "Torschützen"
                    },
                    "subhead": {
                      "type": "string",
                      "description": "Subhead of the gallery."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the gallery."
                    },
                    "category": {
                      "type": "string",
                      "description": "Category of the gallery.",
                      "example": "Matchday"
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords of the gallery.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "external_id": {
                      "type": "string",
                      "description": "ID from an external system of the gallery."
                    },
                    "external_landing_page_url": {
                      "type": "string",
                      "description": "URL to landing page for teh gallery."
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "images": {
                      "type": "array",
                      "readOnly": true,
                      "description": "List of images in this gallery.",
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "external_id",
                              "external_image_url"
                            ],
                            "properties": {
                              "id": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "ID of the image."
                              },
                              "position": {
                                "type": "integer",
                                "minimum": 0,
                                "description": "Position of image in the gallery. Set to `null` to append."
                              },
                              "teaser": {
                                "type": "boolean",
                                "description": "True sets this image as teaser for the gallery."
                              },
                              "title": {
                                "type": "string",
                                "description": "Title of the image."
                              },
                              "description": {
                                "type": "string",
                                "description": "Description of the image."
                              },
                              "copyright": {
                                "type": "string",
                                "description": "Copyright notic of the image."
                              },
                              "keywords": {
                                "type": "array",
                                "description": "List of keywords.",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "external_id": {
                                "type": "string",
                                "description": "ID of the image in an external system."
                              },
                              "external_image_url": {
                                "type": "string",
                                "description": "URL where the image is downloaded from."
                              },
                              "external_landing_page_url": {
                                "type": "string",
                                "description": "URL to a landing page."
                              },
                              "url": {
                                "type": "string",
                                "readOnly": true,
                                "description": "URL to the image."
                              },
                              "locale": {
                                "allOf": [
                                  {
                                    "type": "string",
                                    "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                                    "example": "de-DE",
                                    "pattern": "[a-z]{2}-[A-Z]{2}"
                                  },
                                  {
                                    "readOnly": true
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "object",
                            "properties": {
                              "width": {
                                "type": "integer",
                                "description": "Width of the image in pixels."
                              },
                              "height": {
                                "type": "integer",
                                "description": "Height of the image in pixels."
                              },
                              "size": {
                                "type": "object",
                                "description": "URL to teaser image in different resolution.",
                                "properties": {
                                  "preview": {
                                    "type": "string"
                                  },
                                  "overview": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/matches/{match_id}/polls/questions": {
      "get": {
        "tags": [
          "Poll"
        ],
        "summary": "Questions of Match",
        "description": "Returns a list of live polls by match.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of questions.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of question."
                      },
                      "question": {
                        "type": "string",
                        "description": "Text with question."
                      },
                      "starts_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the poll starts."
                      },
                      "ends_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the poll ends."
                      },
                      "modified_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the poll last modified."
                      },
                      "votes_count": {
                        "type": "integer",
                        "description": "Number of total votes."
                      },
                      "status": {
                        "type": "string",
                        "description": "State of the poll.\n\n| value     | description              |\n|:----------|:-------------------------|\n| `pending` | has not started yet      |\n| `running` | is able to receive votes |\n| `closed`  | is closed                |\n",
                        "enum": [
                          "pending",
                          "running",
                          "closed"
                        ]
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "category": {
                        "type": "array",
                        "description": "List of categories the poll is associated with.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "handle": {
                              "type": "string",
                              "description": "Handle of the category."
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the category."
                            }
                          }
                        }
                      },
                      "choices": {
                        "type": "array",
                        "description": "List of choices of this poll.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID of the choice."
                            },
                            "text": {
                              "type": "string",
                              "description": "Text of the choice."
                            },
                            "votes_count": {
                              "type": "integer",
                              "description": "Number of votes for this choise."
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Permission denied"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/matches/{match_id}/polls/questions/{id}": {
      "get": {
        "tags": [
          "Poll"
        ],
        "summary": "Question of Match",
        "description": "Returns a poll by ID and match.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the poll."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of question."
                    },
                    "question": {
                      "type": "string",
                      "description": "Text with question."
                    },
                    "starts_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll starts."
                    },
                    "ends_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll ends."
                    },
                    "modified_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll last modified."
                    },
                    "votes_count": {
                      "type": "integer",
                      "description": "Number of total votes."
                    },
                    "status": {
                      "type": "string",
                      "description": "State of the poll.\n\n| value     | description              |\n|:----------|:-------------------------|\n| `pending` | has not started yet      |\n| `running` | is able to receive votes |\n| `closed`  | is closed                |\n",
                      "enum": [
                        "pending",
                        "running",
                        "closed"
                      ]
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "category": {
                      "type": "array",
                      "description": "List of categories the poll is associated with.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "handle": {
                            "type": "string",
                            "description": "Handle of the category."
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the category."
                          }
                        }
                      }
                    },
                    "choices": {
                      "type": "array",
                      "description": "List of choices of this poll.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the choice."
                          },
                          "text": {
                            "type": "string",
                            "description": "Text of the choice."
                          },
                          "votes_count": {
                            "type": "integer",
                            "description": "Number of votes for this choise."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Permission denied"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/news": {
      "get": {
        "tags": [
          "News"
        ],
        "summary": "News",
        "description": "Returns a list of news for the club.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "category_id",
            "in": "query",
            "type": "integer",
            "description": "Returns only items within this category."
          },
          {
            "name": "category_ids",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "items": {
              "type": "integer"
            },
            "description": "Returns only items within this categories\ne.g. `category_ids[]=1&category_ids[]=2`.\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "since",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items after that time."
          },
          {
            "name": "until",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items before that time."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of news.",
                  "items": {
                    "type": "object",
                    "description": "A news is divided into a teaser element and several components.\nEach component represents one element of the news body that can have its own headline, sub headline and images.\nA component does not necessarily have a text or images.\nAn example for a news component would be some image-gallery-like element of the news that only contains a headline and some images.\nTo display the whole news, all components have to be displayed.\n",
                    "required": [
                      "external_id",
                      "url",
                      "category",
                      "created_at",
                      "teaser",
                      "components"
                    ],
                    "properties": {
                      "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 42,
                        "description": "ID of the news."
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "keywords": {
                        "type": "array",
                        "description": "Array of keywords that describe the news.",
                        "example": [
                          "keyword"
                        ],
                        "items": {
                          "type": "string"
                        }
                      },
                      "author": {
                        "type": "string",
                        "description": "Author of the news.",
                        "example": "Borussia Dortmund"
                      },
                      "url": {
                        "type": "string",
                        "description": "URL of the original news.",
                        "example": "http://www.bvb.de/News/Uebersicht/Ich-will-erfolgreich-sein-und-guten-Fussball-spielen-lassen"
                      },
                      "highlight": {
                        "type": "boolean",
                        "description": "Special type of news.",
                        "example": true,
                        "default": false
                      },
                      "prio": {
                        "type": "boolean",
                        "example": true,
                        "default": false
                      },
                      "category": {
                        "type": "string",
                        "description": "Category of the news.",
                        "example": "Nachricht"
                      },
                      "category_id": {
                        "type": "integer",
                        "description": "Category ID of the news.",
                        "example": 113
                      },
                      "additional_categories": {
                        "type": "array",
                        "description": "List of categories (maximum 10)",
                        "example": [
                          {
                            "category": "Additional Category 1",
                            "id": 17
                          },
                          {
                            "category": "Additional Category 2",
                            "id": 22
                          }
                        ],
                        "items": {
                          "type": "object",
                          "properties": {
                            "category": {
                              "type": "string",
                              "description": "Category Name.",
                              "example": "Nachricht"
                            },
                            "category_id": {
                              "type": "integer",
                              "description": "Category ID.",
                              "example": 113
                            }
                          }
                        }
                      },
                      "state": {
                        "type": "string",
                        "readOnly": true,
                        "enum": [
                          "in_progress",
                          "processed"
                        ],
                        "description": "* in_progress - Currently processing by the server.\n* processed - Processing is finished.\n"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The UTC date/time at which the current object was created."
                      },
                      "published_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The UTC date/time at which the news item was published."
                      },
                      "teaser": {
                        "type": "object",
                        "description": "Contains the headline and a short summary.",
                        "required": [
                          "title",
                          "text",
                          "images"
                        ],
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "Main title of the news.",
                            "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                          },
                          "text": {
                            "type": "string",
                            "description": "Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                            "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                          },
                          "text_original": {
                            "type": "string",
                            "readOnly": true,
                            "description": "Original/untouched  text of the news component",
                            "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                          },
                          "images": {
                            "type": "array",
                            "description": "List of images.",
                            "minItems": 1,
                            "items": {
                              "type": "object",
                              "required": [
                                "url",
                                "description"
                              ],
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "description": "URL of the image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "width": {
                                  "type": "integer",
                                  "readOnly": true,
                                  "description": "Width of the image.",
                                  "example": 1140
                                },
                                "height": {
                                  "type": "integer",
                                  "readOnly": true,
                                  "description": "Height of the image.",
                                  "example": 840
                                },
                                "orientation": {
                                  "type": "string",
                                  "readOnly": true,
                                  "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                  "example": "landscape"
                                },
                                "size": {
                                  "type": "object",
                                  "description": "Different sizes of the teaser image.",
                                  "readOnly": true,
                                  "properties": {
                                    "small": {
                                      "type": "string",
                                      "description": "URL to the small sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    },
                                    "medium": {
                                      "type": "string",
                                      "description": "URL to the medium sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    },
                                    "large": {
                                      "type": "string",
                                      "description": "URL to the large sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    }
                                  }
                                },
                                "description": {
                                  "type": "string",
                                  "description": "Descriptive text for the image.",
                                  "example": "Dezentes grinsen."
                                },
                                "copyright": {
                                  "type": "string",
                                  "description": "Copyright holder of the image."
                                }
                              }
                            }
                          }
                        }
                      },
                      "components": {
                        "type": "array",
                        "description": "List of components to display the news.",
                        "items": {
                          "type": "object",
                          "required": [
                            "title",
                            "text",
                            "images",
                            "position"
                          ],
                          "properties": {
                            "title": {
                              "type": "string",
                              "description": "Headline of the component.",
                              "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                            },
                            "subhead": {
                              "type": "string",
                              "description": "Sub headline for the component.",
                              "example": "Neuer Trainer"
                            },
                            "text": {
                              "type": "string",
                              "description": "Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                              "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                            },
                            "text_original": {
                              "type": "string",
                              "readOnly": true,
                              "description": "Original/untouched  text of the news component",
                              "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                            },
                            "images": {
                              "type": "array",
                              "description": "List of images.",
                              "items": {
                                "type": "object",
                                "required": [
                                  "url",
                                  "description"
                                ],
                                "properties": {
                                  "url": {
                                    "type": "string",
                                    "description": "URL of the image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "width": {
                                    "type": "integer",
                                    "readOnly": true,
                                    "description": "Width of the image.",
                                    "example": 1140
                                  },
                                  "height": {
                                    "type": "integer",
                                    "readOnly": true,
                                    "description": "Height of the image.",
                                    "example": 840
                                  },
                                  "orientation": {
                                    "type": "string",
                                    "readOnly": true,
                                    "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                    "example": "landscape"
                                  },
                                  "size": {
                                    "type": "object",
                                    "description": "Different sizes of the teaser image.",
                                    "readOnly": true,
                                    "properties": {
                                      "small": {
                                        "type": "string",
                                        "description": "URL to the small sized image.",
                                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                      },
                                      "medium": {
                                        "type": "string",
                                        "description": "URL to the medium sized image.",
                                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                      },
                                      "large": {
                                        "type": "string",
                                        "description": "URL to the large sized image.",
                                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                      }
                                    }
                                  },
                                  "description": {
                                    "type": "string",
                                    "description": "Descriptive text for the image.",
                                    "example": "Dezentes grinsen."
                                  },
                                  "copyright": {
                                    "type": "string",
                                    "description": "Copyright holder of the image."
                                  }
                                }
                              }
                            }
                          }
                        }
                      },
                      "ranking": {
                        "type": "integer",
                        "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                        "example": 5
                      },
                      "send_as_notification": {
                        "example": true,
                        "default": false
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "post": {
        "tags": [
          "News"
        ],
        "summary": "Single News",
        "description": "News are being processed asynchronously. When the request contains valid data the server responds with a status code `202`. However, the news is not being exposed by the API until all images have been processed. So there might be some delay (depending on the size and total amount of the images) between the delivery and the publication via the api.\n\nThe first time a news entry is delivered with a new category, that category is put on a blacklist and has to be whitelisted in order to make it available through the API. To whitelist a category you must edit your app inside your organization.\n\nThe news body can contain any HTML elements. It is possible to include image elements and links to external sources like youtube. However you should make use of sending the images together with the components because it has some advantages:\n\n* The images are hosted by us, so if the original image source changes, the images used in the news entry are still available.\n* The images will be processed and available in different scaled sizes which are optimized for different use cases e.g. mobile devices.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "news",
            "in": "body",
            "description": "The news to create.",
            "schema": {
              "type": "object",
              "properties": {
                "news": {
                  "allOf": [
                    {
                      "type": "object",
                      "description": "A news is divided into a teaser element and several components.\nEach component represents one element of the news body that can have its own headline, sub headline and images.\nA component does not necessarily have a text or images.\nAn example for a news component would be some image-gallery-like element of the news that only contains a headline and some images.\nTo display the whole news, all components have to be displayed.\n",
                      "required": [
                        "external_id",
                        "url",
                        "category",
                        "created_at",
                        "teaser",
                        "components"
                      ],
                      "properties": {
                        "id": {
                          "type": "integer",
                          "readOnly": true,
                          "example": 42,
                          "description": "ID of the news."
                        },
                        "locale": {
                          "type": "string",
                          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                          "example": "de-DE",
                          "pattern": "[a-z]{2}-[A-Z]{2}"
                        },
                        "keywords": {
                          "type": "array",
                          "description": "Array of keywords that describe the news.",
                          "example": [
                            "keyword"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "author": {
                          "type": "string",
                          "description": "Author of the news.",
                          "example": "Borussia Dortmund"
                        },
                        "url": {
                          "type": "string",
                          "description": "URL of the original news.",
                          "example": "http://www.bvb.de/News/Uebersicht/Ich-will-erfolgreich-sein-und-guten-Fussball-spielen-lassen"
                        },
                        "highlight": {
                          "type": "boolean",
                          "description": "Special type of news.",
                          "example": true,
                          "default": false
                        },
                        "prio": {
                          "type": "boolean",
                          "example": true,
                          "default": false
                        },
                        "category": {
                          "type": "string",
                          "description": "Category of the news.",
                          "example": "Nachricht"
                        },
                        "category_id": {
                          "type": "integer",
                          "description": "Category ID of the news.",
                          "example": 113
                        },
                        "additional_categories": {
                          "type": "array",
                          "description": "List of categories (maximum 10)",
                          "example": [
                            {
                              "category": "Additional Category 1",
                              "id": 17
                            },
                            {
                              "category": "Additional Category 2",
                              "id": 22
                            }
                          ],
                          "items": {
                            "type": "object",
                            "properties": {
                              "category": {
                                "type": "string",
                                "description": "Category Name.",
                                "example": "Nachricht"
                              },
                              "category_id": {
                                "type": "integer",
                                "description": "Category ID.",
                                "example": 113
                              }
                            }
                          }
                        },
                        "state": {
                          "type": "string",
                          "readOnly": true,
                          "enum": [
                            "in_progress",
                            "processed"
                          ],
                          "description": "* in_progress - Currently processing by the server.\n* processed - Processing is finished.\n"
                        },
                        "created_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The UTC date/time at which the current object was created."
                        },
                        "published_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "The UTC date/time at which the news item was published."
                        },
                        "teaser": {
                          "type": "object",
                          "description": "Contains the headline and a short summary.",
                          "required": [
                            "title",
                            "text",
                            "images"
                          ],
                          "properties": {
                            "title": {
                              "type": "string",
                              "description": "Main title of the news.",
                              "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                            },
                            "text": {
                              "type": "string",
                              "description": "Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                              "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                            },
                            "text_original": {
                              "type": "string",
                              "readOnly": true,
                              "description": "Original/untouched  text of the news component",
                              "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                            },
                            "images": {
                              "type": "array",
                              "description": "List of images.",
                              "minItems": 1,
                              "items": {
                                "type": "object",
                                "required": [
                                  "url",
                                  "description"
                                ],
                                "properties": {
                                  "url": {
                                    "type": "string",
                                    "description": "URL of the image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "width": {
                                    "type": "integer",
                                    "readOnly": true,
                                    "description": "Width of the image.",
                                    "example": 1140
                                  },
                                  "height": {
                                    "type": "integer",
                                    "readOnly": true,
                                    "description": "Height of the image.",
                                    "example": 840
                                  },
                                  "orientation": {
                                    "type": "string",
                                    "readOnly": true,
                                    "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                    "example": "landscape"
                                  },
                                  "size": {
                                    "type": "object",
                                    "description": "Different sizes of the teaser image.",
                                    "readOnly": true,
                                    "properties": {
                                      "small": {
                                        "type": "string",
                                        "description": "URL to the small sized image.",
                                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                      },
                                      "medium": {
                                        "type": "string",
                                        "description": "URL to the medium sized image.",
                                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                      },
                                      "large": {
                                        "type": "string",
                                        "description": "URL to the large sized image.",
                                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                      }
                                    }
                                  },
                                  "description": {
                                    "type": "string",
                                    "description": "Descriptive text for the image.",
                                    "example": "Dezentes grinsen."
                                  },
                                  "copyright": {
                                    "type": "string",
                                    "description": "Copyright holder of the image."
                                  }
                                }
                              }
                            }
                          }
                        },
                        "components": {
                          "type": "array",
                          "description": "List of components to display the news.",
                          "items": {
                            "type": "object",
                            "required": [
                              "title",
                              "text",
                              "images",
                              "position"
                            ],
                            "properties": {
                              "title": {
                                "type": "string",
                                "description": "Headline of the component.",
                                "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                              },
                              "subhead": {
                                "type": "string",
                                "description": "Sub headline for the component.",
                                "example": "Neuer Trainer"
                              },
                              "text": {
                                "type": "string",
                                "description": "Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                                "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                              },
                              "text_original": {
                                "type": "string",
                                "readOnly": true,
                                "description": "Original/untouched  text of the news component",
                                "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                              },
                              "images": {
                                "type": "array",
                                "description": "List of images.",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "url",
                                    "description"
                                  ],
                                  "properties": {
                                    "url": {
                                      "type": "string",
                                      "description": "URL of the image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    },
                                    "width": {
                                      "type": "integer",
                                      "readOnly": true,
                                      "description": "Width of the image.",
                                      "example": 1140
                                    },
                                    "height": {
                                      "type": "integer",
                                      "readOnly": true,
                                      "description": "Height of the image.",
                                      "example": 840
                                    },
                                    "orientation": {
                                      "type": "string",
                                      "readOnly": true,
                                      "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                      "example": "landscape"
                                    },
                                    "size": {
                                      "type": "object",
                                      "description": "Different sizes of the teaser image.",
                                      "readOnly": true,
                                      "properties": {
                                        "small": {
                                          "type": "string",
                                          "description": "URL to the small sized image.",
                                          "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                        },
                                        "medium": {
                                          "type": "string",
                                          "description": "URL to the medium sized image.",
                                          "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                        },
                                        "large": {
                                          "type": "string",
                                          "description": "URL to the large sized image.",
                                          "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                        }
                                      }
                                    },
                                    "description": {
                                      "type": "string",
                                      "description": "Descriptive text for the image.",
                                      "example": "Dezentes grinsen."
                                    },
                                    "copyright": {
                                      "type": "string",
                                      "description": "Copyright holder of the image."
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "ranking": {
                          "type": "integer",
                          "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                          "example": 5
                        },
                        "send_as_notification": {
                          "example": true,
                          "default": false
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "external_id"
                      ],
                      "properties": {
                        "teaser": {
                          "allOf": [
                            {
                              "type": "object",
                              "description": "Contains the headline and a short summary.",
                              "required": [
                                "title",
                                "text",
                                "images"
                              ],
                              "properties": {
                                "title": {
                                  "type": "string",
                                  "description": "Main title of the news.",
                                  "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                                },
                                "text": {
                                  "type": "string",
                                  "description": "Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                                  "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                                },
                                "text_original": {
                                  "type": "string",
                                  "readOnly": true,
                                  "description": "Original/untouched  text of the news component",
                                  "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                                },
                                "images": {
                                  "type": "array",
                                  "description": "List of images.",
                                  "minItems": 1,
                                  "items": {
                                    "type": "object",
                                    "required": [
                                      "url",
                                      "description"
                                    ],
                                    "properties": {
                                      "url": {
                                        "type": "string",
                                        "description": "URL of the image.",
                                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                      },
                                      "width": {
                                        "type": "integer",
                                        "readOnly": true,
                                        "description": "Width of the image.",
                                        "example": 1140
                                      },
                                      "height": {
                                        "type": "integer",
                                        "readOnly": true,
                                        "description": "Height of the image.",
                                        "example": 840
                                      },
                                      "orientation": {
                                        "type": "string",
                                        "readOnly": true,
                                        "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                        "example": "landscape"
                                      },
                                      "size": {
                                        "type": "object",
                                        "description": "Different sizes of the teaser image.",
                                        "readOnly": true,
                                        "properties": {
                                          "small": {
                                            "type": "string",
                                            "description": "URL to the small sized image.",
                                            "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                          },
                                          "medium": {
                                            "type": "string",
                                            "description": "URL to the medium sized image.",
                                            "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                          },
                                          "large": {
                                            "type": "string",
                                            "description": "URL to the large sized image.",
                                            "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                          }
                                        }
                                      },
                                      "description": {
                                        "type": "string",
                                        "description": "Descriptive text for the image.",
                                        "example": "Dezentes grinsen."
                                      },
                                      "copyright": {
                                        "type": "string",
                                        "description": "Copyright holder of the image."
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "object",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "description": "Text of the news component.",
                                  "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                                }
                              }
                            }
                          ]
                        },
                        "components": {
                          "type": "array",
                          "description": "List of components to display the news.",
                          "items": {
                            "allOf": [
                              {
                                "type": "object",
                                "required": [
                                  "title",
                                  "text",
                                  "images",
                                  "position"
                                ],
                                "properties": {
                                  "title": {
                                    "type": "string",
                                    "description": "Headline of the component.",
                                    "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                                  },
                                  "subhead": {
                                    "type": "string",
                                    "description": "Sub headline for the component.",
                                    "example": "Neuer Trainer"
                                  },
                                  "text": {
                                    "type": "string",
                                    "description": "Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                                    "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                                  },
                                  "text_original": {
                                    "type": "string",
                                    "readOnly": true,
                                    "description": "Original/untouched  text of the news component",
                                    "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                                  },
                                  "images": {
                                    "type": "array",
                                    "description": "List of images.",
                                    "items": {
                                      "type": "object",
                                      "required": [
                                        "url",
                                        "description"
                                      ],
                                      "properties": {
                                        "url": {
                                          "type": "string",
                                          "description": "URL of the image.",
                                          "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                        },
                                        "width": {
                                          "type": "integer",
                                          "readOnly": true,
                                          "description": "Width of the image.",
                                          "example": 1140
                                        },
                                        "height": {
                                          "type": "integer",
                                          "readOnly": true,
                                          "description": "Height of the image.",
                                          "example": 840
                                        },
                                        "orientation": {
                                          "type": "string",
                                          "readOnly": true,
                                          "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                          "example": "landscape"
                                        },
                                        "size": {
                                          "type": "object",
                                          "description": "Different sizes of the teaser image.",
                                          "readOnly": true,
                                          "properties": {
                                            "small": {
                                              "type": "string",
                                              "description": "URL to the small sized image.",
                                              "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                            },
                                            "medium": {
                                              "type": "string",
                                              "description": "URL to the medium sized image.",
                                              "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                            },
                                            "large": {
                                              "type": "string",
                                              "description": "URL to the large sized image.",
                                              "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                            }
                                          }
                                        },
                                        "description": {
                                          "type": "string",
                                          "description": "Descriptive text for the image.",
                                          "example": "Dezentes grinsen."
                                        },
                                        "copyright": {
                                          "type": "string",
                                          "description": "Copyright holder of the image."
                                        }
                                      }
                                    }
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "text": {
                                    "type": "string",
                                    "description": "Text of the news component.",
                                    "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "external_id": {
                          "type": "integer",
                          "description": "Unique ID for news. This value will become the `id` of the news."
                        },
                        "send_as_notification": {
                          "type": "boolean",
                          "description": "Push news to Webhooks.",
                          "default": false
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Created",
            "schema": {
              "type": "object",
              "description": "A news is divided into a teaser element and several components.\nEach component represents one element of the news body that can have its own headline, sub headline and images.\nA component does not necessarily have a text or images.\nAn example for a news component would be some image-gallery-like element of the news that only contains a headline and some images.\nTo display the whole news, all components have to be displayed.\n",
              "required": [
                "external_id",
                "url",
                "category",
                "created_at",
                "teaser",
                "components"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "readOnly": true,
                  "example": 42,
                  "description": "ID of the news."
                },
                "locale": {
                  "type": "string",
                  "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                  "example": "de-DE",
                  "pattern": "[a-z]{2}-[A-Z]{2}"
                },
                "keywords": {
                  "type": "array",
                  "description": "Array of keywords that describe the news.",
                  "example": [
                    "keyword"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "author": {
                  "type": "string",
                  "description": "Author of the news.",
                  "example": "Borussia Dortmund"
                },
                "url": {
                  "type": "string",
                  "description": "URL of the original news.",
                  "example": "http://www.bvb.de/News/Uebersicht/Ich-will-erfolgreich-sein-und-guten-Fussball-spielen-lassen"
                },
                "highlight": {
                  "type": "boolean",
                  "description": "Special type of news.",
                  "example": true,
                  "default": false
                },
                "prio": {
                  "type": "boolean",
                  "example": true,
                  "default": false
                },
                "category": {
                  "type": "string",
                  "description": "Category of the news.",
                  "example": "Nachricht"
                },
                "category_id": {
                  "type": "integer",
                  "description": "Category ID of the news.",
                  "example": 113
                },
                "additional_categories": {
                  "type": "array",
                  "description": "List of categories (maximum 10)",
                  "example": [
                    {
                      "category": "Additional Category 1",
                      "id": 17
                    },
                    {
                      "category": "Additional Category 2",
                      "id": 22
                    }
                  ],
                  "items": {
                    "type": "object",
                    "properties": {
                      "category": {
                        "type": "string",
                        "description": "Category Name.",
                        "example": "Nachricht"
                      },
                      "category_id": {
                        "type": "integer",
                        "description": "Category ID.",
                        "example": 113
                      }
                    }
                  }
                },
                "state": {
                  "type": "string",
                  "readOnly": true,
                  "enum": [
                    "in_progress",
                    "processed"
                  ],
                  "description": "* in_progress - Currently processing by the server.\n* processed - Processing is finished.\n"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The UTC date/time at which the current object was created."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The UTC date/time at which the news item was published."
                },
                "teaser": {
                  "type": "object",
                  "description": "Contains the headline and a short summary.",
                  "required": [
                    "title",
                    "text",
                    "images"
                  ],
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Main title of the news.",
                      "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                    },
                    "text": {
                      "type": "string",
                      "description": "Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                      "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                    },
                    "text_original": {
                      "type": "string",
                      "readOnly": true,
                      "description": "Original/untouched  text of the news component",
                      "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                    },
                    "images": {
                      "type": "array",
                      "description": "List of images.",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "url",
                          "description"
                        ],
                        "properties": {
                          "url": {
                            "type": "string",
                            "description": "URL of the image.",
                            "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                          },
                          "width": {
                            "type": "integer",
                            "readOnly": true,
                            "description": "Width of the image.",
                            "example": 1140
                          },
                          "height": {
                            "type": "integer",
                            "readOnly": true,
                            "description": "Height of the image.",
                            "example": 840
                          },
                          "orientation": {
                            "type": "string",
                            "readOnly": true,
                            "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                            "example": "landscape"
                          },
                          "size": {
                            "type": "object",
                            "description": "Different sizes of the teaser image.",
                            "readOnly": true,
                            "properties": {
                              "small": {
                                "type": "string",
                                "description": "URL to the small sized image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              },
                              "medium": {
                                "type": "string",
                                "description": "URL to the medium sized image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              },
                              "large": {
                                "type": "string",
                                "description": "URL to the large sized image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              }
                            }
                          },
                          "description": {
                            "type": "string",
                            "description": "Descriptive text for the image.",
                            "example": "Dezentes grinsen."
                          },
                          "copyright": {
                            "type": "string",
                            "description": "Copyright holder of the image."
                          }
                        }
                      }
                    }
                  }
                },
                "components": {
                  "type": "array",
                  "description": "List of components to display the news.",
                  "items": {
                    "type": "object",
                    "required": [
                      "title",
                      "text",
                      "images",
                      "position"
                    ],
                    "properties": {
                      "title": {
                        "type": "string",
                        "description": "Headline of the component.",
                        "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                      },
                      "subhead": {
                        "type": "string",
                        "description": "Sub headline for the component.",
                        "example": "Neuer Trainer"
                      },
                      "text": {
                        "type": "string",
                        "description": "Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                        "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                      },
                      "text_original": {
                        "type": "string",
                        "readOnly": true,
                        "description": "Original/untouched  text of the news component",
                        "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                      },
                      "images": {
                        "type": "array",
                        "description": "List of images.",
                        "items": {
                          "type": "object",
                          "required": [
                            "url",
                            "description"
                          ],
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL of the image.",
                              "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                            },
                            "width": {
                              "type": "integer",
                              "readOnly": true,
                              "description": "Width of the image.",
                              "example": 1140
                            },
                            "height": {
                              "type": "integer",
                              "readOnly": true,
                              "description": "Height of the image.",
                              "example": 840
                            },
                            "orientation": {
                              "type": "string",
                              "readOnly": true,
                              "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                              "example": "landscape"
                            },
                            "size": {
                              "type": "object",
                              "description": "Different sizes of the teaser image.",
                              "readOnly": true,
                              "properties": {
                                "small": {
                                  "type": "string",
                                  "description": "URL to the small sized image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "medium": {
                                  "type": "string",
                                  "description": "URL to the medium sized image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "large": {
                                  "type": "string",
                                  "description": "URL to the large sized image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                }
                              }
                            },
                            "description": {
                              "type": "string",
                              "description": "Descriptive text for the image.",
                              "example": "Dezentes grinsen."
                            },
                            "copyright": {
                              "type": "string",
                              "description": "Copyright holder of the image."
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "ranking": {
                  "type": "integer",
                  "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                  "example": 5
                },
                "send_as_notification": {
                  "example": true,
                  "default": false
                }
              }
            }
          },
          "400": {
            "description": "Parameter missing",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Required parameter missing: news"
                }
              }
            }
          }
        }
      }
    },
    "/clubs/{club_id}/news/{id}": {
      "get": {
        "tags": [
          "News"
        ],
        "summary": "Single News",
        "description": "Returns a news by its ID in the scope of a club.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the news.\nThis value was previously delivered as `external_id` when the news was created.\nThis is not the ID you can find in the user interace URL.\n"
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "description": "A news is divided into a teaser element and several components.\nEach component represents one element of the news body that can have its own headline, sub headline and images.\nA component does not necessarily have a text or images.\nAn example for a news component would be some image-gallery-like element of the news that only contains a headline and some images.\nTo display the whole news, all components have to be displayed.\n",
                  "required": [
                    "external_id",
                    "url",
                    "category",
                    "created_at",
                    "teaser",
                    "components"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "example": 42,
                      "description": "ID of the news."
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "keywords": {
                      "type": "array",
                      "description": "Array of keywords that describe the news.",
                      "example": [
                        "keyword"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "author": {
                      "type": "string",
                      "description": "Author of the news.",
                      "example": "Borussia Dortmund"
                    },
                    "url": {
                      "type": "string",
                      "description": "URL of the original news.",
                      "example": "http://www.bvb.de/News/Uebersicht/Ich-will-erfolgreich-sein-und-guten-Fussball-spielen-lassen"
                    },
                    "highlight": {
                      "type": "boolean",
                      "description": "Special type of news.",
                      "example": true,
                      "default": false
                    },
                    "prio": {
                      "type": "boolean",
                      "example": true,
                      "default": false
                    },
                    "category": {
                      "type": "string",
                      "description": "Category of the news.",
                      "example": "Nachricht"
                    },
                    "category_id": {
                      "type": "integer",
                      "description": "Category ID of the news.",
                      "example": 113
                    },
                    "additional_categories": {
                      "type": "array",
                      "description": "List of categories (maximum 10)",
                      "example": [
                        {
                          "category": "Additional Category 1",
                          "id": 17
                        },
                        {
                          "category": "Additional Category 2",
                          "id": 22
                        }
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "category": {
                            "type": "string",
                            "description": "Category Name.",
                            "example": "Nachricht"
                          },
                          "category_id": {
                            "type": "integer",
                            "description": "Category ID.",
                            "example": 113
                          }
                        }
                      }
                    },
                    "state": {
                      "type": "string",
                      "readOnly": true,
                      "enum": [
                        "in_progress",
                        "processed"
                      ],
                      "description": "* in_progress - Currently processing by the server.\n* processed - Processing is finished.\n"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "The UTC date/time at which the current object was created."
                    },
                    "published_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "The UTC date/time at which the news item was published."
                    },
                    "teaser": {
                      "type": "object",
                      "description": "Contains the headline and a short summary.",
                      "required": [
                        "title",
                        "text",
                        "images"
                      ],
                      "properties": {
                        "title": {
                          "type": "string",
                          "description": "Main title of the news.",
                          "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                        },
                        "text": {
                          "type": "string",
                          "description": "Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                          "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                        },
                        "text_original": {
                          "type": "string",
                          "readOnly": true,
                          "description": "Original/untouched  text of the news component",
                          "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                        },
                        "images": {
                          "type": "array",
                          "description": "List of images.",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "required": [
                              "url",
                              "description"
                            ],
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL of the image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              },
                              "width": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "Width of the image.",
                                "example": 1140
                              },
                              "height": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "Height of the image.",
                                "example": 840
                              },
                              "orientation": {
                                "type": "string",
                                "readOnly": true,
                                "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                "example": "landscape"
                              },
                              "size": {
                                "type": "object",
                                "description": "Different sizes of the teaser image.",
                                "readOnly": true,
                                "properties": {
                                  "small": {
                                    "type": "string",
                                    "description": "URL to the small sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL to the medium sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "large": {
                                    "type": "string",
                                    "description": "URL to the large sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  }
                                }
                              },
                              "description": {
                                "type": "string",
                                "description": "Descriptive text for the image.",
                                "example": "Dezentes grinsen."
                              },
                              "copyright": {
                                "type": "string",
                                "description": "Copyright holder of the image."
                              }
                            }
                          }
                        }
                      }
                    },
                    "components": {
                      "type": "array",
                      "description": "List of components to display the news.",
                      "items": {
                        "type": "object",
                        "required": [
                          "title",
                          "text",
                          "images",
                          "position"
                        ],
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "Headline of the component.",
                            "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                          },
                          "subhead": {
                            "type": "string",
                            "description": "Sub headline for the component.",
                            "example": "Neuer Trainer"
                          },
                          "text": {
                            "type": "string",
                            "description": "Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                            "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                          },
                          "text_original": {
                            "type": "string",
                            "readOnly": true,
                            "description": "Original/untouched  text of the news component",
                            "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                          },
                          "images": {
                            "type": "array",
                            "description": "List of images.",
                            "items": {
                              "type": "object",
                              "required": [
                                "url",
                                "description"
                              ],
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "description": "URL of the image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "width": {
                                  "type": "integer",
                                  "readOnly": true,
                                  "description": "Width of the image.",
                                  "example": 1140
                                },
                                "height": {
                                  "type": "integer",
                                  "readOnly": true,
                                  "description": "Height of the image.",
                                  "example": 840
                                },
                                "orientation": {
                                  "type": "string",
                                  "readOnly": true,
                                  "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                  "example": "landscape"
                                },
                                "size": {
                                  "type": "object",
                                  "description": "Different sizes of the teaser image.",
                                  "readOnly": true,
                                  "properties": {
                                    "small": {
                                      "type": "string",
                                      "description": "URL to the small sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    },
                                    "medium": {
                                      "type": "string",
                                      "description": "URL to the medium sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    },
                                    "large": {
                                      "type": "string",
                                      "description": "URL to the large sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    }
                                  }
                                },
                                "description": {
                                  "type": "string",
                                  "description": "Descriptive text for the image.",
                                  "example": "Dezentes grinsen."
                                },
                                "copyright": {
                                  "type": "string",
                                  "description": "Copyright holder of the image."
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "ranking": {
                      "type": "integer",
                      "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                      "example": 5
                    },
                    "send_as_notification": {
                      "example": true,
                      "default": false
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "delete": {
        "tags": [
          "News"
        ],
        "summary": "Single News",
        "description": "Deletes a news by its `id`.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the news.\nThis value was previously delivered as `external_id` when the news was created.\nThis is not the ID you can find in the user interace URL.\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/pages": {
      "get": {
        "tags": [
          "Page"
        ],
        "summary": "Pages",
        "description": "Returns a list of pages for the club.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of pages.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the page."
                      },
                      "title": {
                        "type": "string",
                        "description": "Name of the page."
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the page.\nThis is the primary indentifier and **MUST** be use to access the page.\n"
                      },
                      "components": {
                        "type": "array",
                        "description": "List of components.",
                        "items": {
                          "type": "object",
                          "discriminator": "type",
                          "x-extendedDiscriminator": "type",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID of the component."
                            },
                            "position": {
                              "type": "integer",
                              "description": "Position of the component. You **SHOULD** render the components in ascending order."
                            },
                            "type": {
                              "type": "string"
                            },
                            "html": {
                              "type": "string",
                              "description": "HTML formatted content of the component."
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/pages/{handle}": {
      "get": {
        "tags": [
          "Page"
        ],
        "summary": "Page",
        "description": "Returns a page by Handle.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "handle",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Handle of the page."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of the page."
                    },
                    "title": {
                      "type": "string",
                      "description": "Name of the page."
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "handle": {
                      "type": "string",
                      "description": "Handle of the page.\nThis is the primary indentifier and **MUST** be use to access the page.\n"
                    },
                    "components": {
                      "type": "array",
                      "description": "List of components.",
                      "items": {
                        "type": "object",
                        "discriminator": "type",
                        "x-extendedDiscriminator": "type",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the component."
                          },
                          "position": {
                            "type": "integer",
                            "description": "Position of the component. You **SHOULD** render the components in ascending order."
                          },
                          "type": {
                            "type": "string"
                          },
                          "html": {
                            "type": "string",
                            "description": "HTML formatted content of the component."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/pages/{handle}/compile": {
      "get": {
        "tags": [
          "Page"
        ],
        "summary": "Rendered Page",
        "description": "Returns a rendered page by Handle.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "handle",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Handle of the page."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "produces": [
          "text/html"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/places": {
      "get": {
        "tags": [
          "Place"
        ],
        "summary": "Places",
        "description": "Returns a list of places.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of places.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the place."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the place."
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the place."
                      },
                      "marker_icon": {
                        "type": "string",
                        "description": "URL to the icon that should be used as the map marker icon."
                      },
                      "url": {
                        "type": "string",
                        "description": "URL with further information for this place."
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "category": {
                        "type": "string",
                        "description": "Category of the place."
                      },
                      "location": {
                        "type": "object",
                        "description": "Coordinates of the place.",
                        "properties": {
                          "latitude": {
                            "type": "string",
                            "description": "Latitude of the location."
                          },
                          "longitude": {
                            "type": "string",
                            "description": "Longitude of the location."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/places/{id}": {
      "get": {
        "tags": [
          "Place"
        ],
        "summary": "Place",
        "description": "Returns a place by ID.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "ID of the place."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of the place."
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of the place."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the place."
                    },
                    "marker_icon": {
                      "type": "string",
                      "description": "URL to the icon that should be used as the map marker icon."
                    },
                    "url": {
                      "type": "string",
                      "description": "URL with further information for this place."
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "category": {
                      "type": "string",
                      "description": "Category of the place."
                    },
                    "location": {
                      "type": "object",
                      "description": "Coordinates of the place.",
                      "properties": {
                        "latitude": {
                          "type": "string",
                          "description": "Latitude of the location."
                        },
                        "longitude": {
                          "type": "string",
                          "description": "Longitude of the location."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/polls/questions": {
      "get": {
        "tags": [
          "Poll"
        ],
        "summary": "Questions",
        "description": "Returns a list of live polls.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of questions.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of question."
                      },
                      "question": {
                        "type": "string",
                        "description": "Text with question."
                      },
                      "starts_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the poll starts."
                      },
                      "ends_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the poll ends."
                      },
                      "modified_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the poll last modified."
                      },
                      "votes_count": {
                        "type": "integer",
                        "description": "Number of total votes."
                      },
                      "status": {
                        "type": "string",
                        "description": "State of the poll.\n\n| value     | description              |\n|:----------|:-------------------------|\n| `pending` | has not started yet      |\n| `running` | is able to receive votes |\n| `closed`  | is closed                |\n",
                        "enum": [
                          "pending",
                          "running",
                          "closed"
                        ]
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "category": {
                        "type": "array",
                        "description": "List of categories the poll is associated with.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "handle": {
                              "type": "string",
                              "description": "Handle of the category."
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the category."
                            }
                          }
                        }
                      },
                      "choices": {
                        "type": "array",
                        "description": "List of choices of this poll.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID of the choice."
                            },
                            "text": {
                              "type": "string",
                              "description": "Text of the choice."
                            },
                            "votes_count": {
                              "type": "integer",
                              "description": "Number of votes for this choise."
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Permission denied"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/polls/questions/{id}": {
      "get": {
        "tags": [
          "Poll"
        ],
        "summary": "Question",
        "description": "Returns a poll by ID.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the poll."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of question."
                    },
                    "question": {
                      "type": "string",
                      "description": "Text with question."
                    },
                    "starts_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll starts."
                    },
                    "ends_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll ends."
                    },
                    "modified_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll last modified."
                    },
                    "votes_count": {
                      "type": "integer",
                      "description": "Number of total votes."
                    },
                    "status": {
                      "type": "string",
                      "description": "State of the poll.\n\n| value     | description              |\n|:----------|:-------------------------|\n| `pending` | has not started yet      |\n| `running` | is able to receive votes |\n| `closed`  | is closed                |\n",
                      "enum": [
                        "pending",
                        "running",
                        "closed"
                      ]
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "category": {
                      "type": "array",
                      "description": "List of categories the poll is associated with.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "handle": {
                            "type": "string",
                            "description": "Handle of the category."
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the category."
                          }
                        }
                      }
                    },
                    "choices": {
                      "type": "array",
                      "description": "List of choices of this poll.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the choice."
                          },
                          "text": {
                            "type": "string",
                            "description": "Text of the choice."
                          },
                          "votes_count": {
                            "type": "integer",
                            "description": "Number of votes for this choise."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Permission denied"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/polls/questions/{id}/votes": {
      "post": {
        "tags": [
          "Poll",
          "signed_request"
        ],
        "summary": "Vote",
        "description": "Create a vote for a poll.\nVotes can only be created once per uuid on a poll.\nThe poll **MUST** be in state `running`.\n\n<br>\n> The request **MUST** be signed like it's described in the signed request section.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the poll."
          },
          {
            "name": "vote",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "vote": {
                  "type": "object",
                  "properties": {
                    "choice_id": {
                      "type": "integer",
                      "description": "ID of the choice you want to vote for."
                    },
                    "uuid": {
                      "type": "string",
                      "description": "Unique idientifier of the voting device.",
                      "example": "bd63b789fe130c1ce05f175763ece05c"
                    }
                  }
                },
                "hmac": {
                  "type": "string",
                  "description": "Signature of the request. See signed request section for more details.",
                  "example": "SgAIl0yZoKfr7eDla4XQKOmuBfapvPpiXXFzBgLLGCA="
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of question."
                    },
                    "question": {
                      "type": "string",
                      "description": "Text with question."
                    },
                    "starts_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll starts."
                    },
                    "ends_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll ends."
                    },
                    "modified_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll last modified."
                    },
                    "votes_count": {
                      "type": "integer",
                      "description": "Number of total votes."
                    },
                    "status": {
                      "type": "string",
                      "description": "State of the poll.\n\n| value     | description              |\n|:----------|:-------------------------|\n| `pending` | has not started yet      |\n| `running` | is able to receive votes |\n| `closed`  | is closed                |\n",
                      "enum": [
                        "pending",
                        "running",
                        "closed"
                      ]
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "category": {
                      "type": "array",
                      "description": "List of categories the poll is associated with.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "handle": {
                            "type": "string",
                            "description": "Handle of the category."
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the category."
                          }
                        }
                      }
                    },
                    "choices": {
                      "type": "array",
                      "description": "List of choices of this poll.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the choice."
                          },
                          "text": {
                            "type": "string",
                            "description": "Text of the choice."
                          },
                          "votes_count": {
                            "type": "integer",
                            "description": "Number of votes for this choise."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        },
        "security": [
          {
            "api_token": []
          },
          {
            "signed_request": []
          }
        ]
      }
    },
    "/clubs/{club_id}/quizzes": {
      "get": {
        "tags": [
          "Quiz"
        ],
        "summary": "Quizzes",
        "description": "Returns a list of active quizzes.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of quizzes.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the quiz."
                      },
                      "title": {
                        "type": "string",
                        "description": "Title of the quiz."
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the quiz."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the quiz."
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "number_of_questions": {
                        "type": "integer",
                        "description": "Number of questions of the quiz (1-20)."
                      },
                      "number_of_point_classes": {
                        "type": "integer",
                        "description": "Number of point classes of the quiz (1-10)."
                      },
                      "point_classes": {
                        "type": "array",
                        "description": "List of point classes.",
                        "minItems": 1,
                        "items": {
                          "type": "object",
                          "properties": {
                            "from": {
                              "type": "integer"
                            },
                            "to": {
                              "type": "integer"
                            },
                            "description": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "images": {
                        "type": "array",
                        "description": "List of images.",
                        "minItems": 1,
                        "items": {
                          "type": "object",
                          "properties": {
                            "orientation": {
                              "type": "string",
                              "description": "Orientation of the image. \"landscape\" or \"portrait\"",
                              "example": "landscape"
                            },
                            "url": {
                              "type": "string",
                              "description": "URL of the iamge.",
                              "example": "https://clubplatform.de/a.177194459096974.1073741828.177157089100711/797601193722961/"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/quizzes/{id}": {
      "get": {
        "tags": [
          "Quiz"
        ],
        "summary": "Quiz",
        "description": "Returns a quiz by ID.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "ID of the quiz."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the quiz."
                        },
                        "title": {
                          "type": "string",
                          "description": "Title of the quiz."
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the quiz."
                        },
                        "handle": {
                          "type": "string",
                          "description": "Handle of the quiz."
                        },
                        "locale": {
                          "type": "string",
                          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                          "example": "de-DE",
                          "pattern": "[a-z]{2}-[A-Z]{2}"
                        },
                        "number_of_questions": {
                          "type": "integer",
                          "description": "Number of questions of the quiz (1-20)."
                        },
                        "number_of_point_classes": {
                          "type": "integer",
                          "description": "Number of point classes of the quiz (1-10)."
                        },
                        "point_classes": {
                          "type": "array",
                          "description": "List of point classes.",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "properties": {
                              "from": {
                                "type": "integer"
                              },
                              "to": {
                                "type": "integer"
                              },
                              "description": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "images": {
                          "type": "array",
                          "description": "List of images.",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "properties": {
                              "orientation": {
                                "type": "string",
                                "description": "Orientation of the image. \"landscape\" or \"portrait\"",
                                "example": "landscape"
                              },
                              "url": {
                                "type": "string",
                                "description": "URL of the iamge.",
                                "example": "https://clubplatform.de/a.177194459096974.1073741828.177157089100711/797601193722961/"
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "questions": {
                          "type": "array",
                          "description": "List of questions.",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "ID of the question."
                              },
                              "number_of_answers": {
                                "type": "integer",
                                "description": "The number of answers"
                              },
                              "question": {
                                "type": "string",
                                "description": "Text of the question",
                                "example": "Who shot the most goals ?"
                              },
                              "question_image": {
                                "description": "optional",
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string",
                                    "description": "URL of the image.",
                                    "example": "https://clubplatform.de/a.177194459096974.1073741828.177157089100711/797601193722961/"
                                  }
                                }
                              },
                              "question_solution": {
                                "type": "string",
                                "description": "Text of the solution to the question",
                                "example": "Gerd Müller shot the most goals .. 213 in one month ?"
                              },
                              "answers": {
                                "type": "array",
                                "description": "List of answers.",
                                "minItems": 1,
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "description": "ID of the answer."
                                    },
                                    "answer": {
                                      "type": "string",
                                      "description": "Text of the answer",
                                      "example": "Lore ipsum ..."
                                    },
                                    "is_correct": {
                                      "type": "boolean",
                                      "description": "one out of all answers should have set is_correct to true => this is the solution"
                                    },
                                    "answer_image": {
                                      "description": "optional",
                                      "type": "object",
                                      "properties": {
                                        "url": {
                                          "type": "string",
                                          "description": "URL of the image.",
                                          "example": "https://clubplatform.de/a.177194459096974.1073741828.177157089100711/797601193722961/"
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  ],
                  "type": "object"
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/products": {
      "get": {
        "tags": [
          "Product"
        ],
        "summary": "Products",
        "description": "Returns the list of products in the scope of a club.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of products",
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "name",
                      "article_number"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "ID of the product.",
                        "example": "4"
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of Product.",
                        "example": "Blue ball with club logo"
                      },
                      "headline": {
                        "type": "string",
                        "description": "Headline of product description.",
                        "example": "Awesome blue ball with club logo"
                      },
                      "description": {
                        "type": "string",
                        "description": "Product description.",
                        "example": "This ball is of the finest quality and shows\na colored logo of our beloved club.\nIt is of normal size comes filled with air.\n"
                      },
                      "call_to_action": {
                        "type": "string",
                        "description": "Call to action",
                        "example": "Bye this ball NOW!"
                      },
                      "article_number": {
                        "type": "string",
                        "description": "Article number of product. This can be the same value as the Id.\n",
                        "example": "00000123"
                      },
                      "external_url": {
                        "type": "string",
                        "description": "URL to the Product in the external shop system",
                        "example": "https://shop.example.com/00000123-ball-blue"
                      },
                      "price": {
                        "type": "object",
                        "description": "Detailed price information.",
                        "required": [
                          "currency",
                          "current"
                        ],
                        "properties": {
                          "currency": {
                            "type": "string",
                            "description": "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the used currency.\n",
                            "example": "EUR"
                          },
                          "discount": {
                            "type": "string",
                            "description": "The percentage by which this product is reduced in price.",
                            "example": "50"
                          },
                          "regular": {
                            "type": "string",
                            "description": "Regular sales price (not discounted).",
                            "example": "101.00"
                          },
                          "current": {
                            "type": "string",
                            "description": "Current sales price (discounted).",
                            "example": "50.50"
                          }
                        }
                      },
                      "images": {
                        "type": "array",
                        "description": "Images of Product.\nYou **MUST** supply **exactly** one image inside this array.\n",
                        "minItems": 1,
                        "maxItems": 1,
                        "items": {
                          "type": "object",
                          "required": [
                            "url"
                          ],
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL to image.",
                              "example": "https://example.com/kitten.png"
                            }
                          }
                        }
                      },
                      "teaser_image_url": {
                        "type": "string",
                        "description": "URL to teaser image of the product. This is a scaled down version of the original image which is optimized for preview purposes.\n",
                        "example": "https://example.com/kitten_teaser.png"
                      },
                      "external_id": {
                        "type": "string",
                        "description": "External ID of the product. This is only available for products which have been created via the API.",
                        "example": "42"
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "post": {
        "tags": [
          "Product"
        ],
        "summary": "Products",
        "description": "Creates a product in the scope of a club.\n\nProducts are being processed asynchronously.\nWhen the request contains valid data the server responds with a status code `202`.\nHowever, the product is not being exposed by the API until all images have been processed. So there might be some delay (depending on the size and total amount of the images) between the delivery and the publication via the api.\n\n* The images are hosted by us, so if the original image source changes, the images used in the product are still available.\n* The images will be processed and available in different scaled sizes which are optimized for different use cases e.g. mobile devices.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "product",
            "in": "body",
            "description": "The product to create.",
            "schema": {
              "type": "object",
              "properties": {
                "product": {
                  "type": "object",
                  "required": [
                    "id",
                    "name",
                    "article_number"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID of the product.",
                      "example": "4"
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of Product.",
                      "example": "Blue ball with club logo"
                    },
                    "headline": {
                      "type": "string",
                      "description": "Headline of product description.",
                      "example": "Awesome blue ball with club logo"
                    },
                    "description": {
                      "type": "string",
                      "description": "Product description.",
                      "example": "This ball is of the finest quality and shows\na colored logo of our beloved club.\nIt is of normal size comes filled with air.\n"
                    },
                    "call_to_action": {
                      "type": "string",
                      "description": "Call to action",
                      "example": "Bye this ball NOW!"
                    },
                    "article_number": {
                      "type": "string",
                      "description": "Article number of product. This can be the same value as the Id.\n",
                      "example": "00000123"
                    },
                    "external_url": {
                      "type": "string",
                      "description": "URL to the Product in the external shop system",
                      "example": "https://shop.example.com/00000123-ball-blue"
                    },
                    "price": {
                      "type": "object",
                      "description": "Detailed price information.",
                      "required": [
                        "currency",
                        "current"
                      ],
                      "properties": {
                        "currency": {
                          "type": "string",
                          "description": "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the used currency.\n",
                          "example": "EUR"
                        },
                        "discount": {
                          "type": "string",
                          "description": "The percentage by which this product is reduced in price.",
                          "example": "50"
                        },
                        "regular": {
                          "type": "string",
                          "description": "Regular sales price (not discounted).",
                          "example": "101.00"
                        },
                        "current": {
                          "type": "string",
                          "description": "Current sales price (discounted).",
                          "example": "50.50"
                        }
                      }
                    },
                    "images": {
                      "type": "array",
                      "description": "Images of Product.\nYou **MUST** supply **exactly** one image inside this array.\n",
                      "minItems": 1,
                      "maxItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "url"
                        ],
                        "properties": {
                          "url": {
                            "type": "string",
                            "description": "URL to image.",
                            "example": "https://example.com/kitten.png"
                          }
                        }
                      }
                    },
                    "teaser_image_url": {
                      "type": "string",
                      "description": "URL to teaser image of the product. This is a scaled down version of the original image which is optimized for preview purposes.\n",
                      "example": "https://example.com/kitten_teaser.png"
                    },
                    "external_id": {
                      "type": "string",
                      "description": "External ID of the product. This is only available for products which have been created via the API.",
                      "example": "42"
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "schema": {
              "type": "object",
              "required": [
                "id",
                "name",
                "article_number"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "description": "ID of the product.",
                  "example": "4"
                },
                "name": {
                  "type": "string",
                  "description": "Name of Product.",
                  "example": "Blue ball with club logo"
                },
                "headline": {
                  "type": "string",
                  "description": "Headline of product description.",
                  "example": "Awesome blue ball with club logo"
                },
                "description": {
                  "type": "string",
                  "description": "Product description.",
                  "example": "This ball is of the finest quality and shows\na colored logo of our beloved club.\nIt is of normal size comes filled with air.\n"
                },
                "call_to_action": {
                  "type": "string",
                  "description": "Call to action",
                  "example": "Bye this ball NOW!"
                },
                "article_number": {
                  "type": "string",
                  "description": "Article number of product. This can be the same value as the Id.\n",
                  "example": "00000123"
                },
                "external_url": {
                  "type": "string",
                  "description": "URL to the Product in the external shop system",
                  "example": "https://shop.example.com/00000123-ball-blue"
                },
                "price": {
                  "type": "object",
                  "description": "Detailed price information.",
                  "required": [
                    "currency",
                    "current"
                  ],
                  "properties": {
                    "currency": {
                      "type": "string",
                      "description": "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the used currency.\n",
                      "example": "EUR"
                    },
                    "discount": {
                      "type": "string",
                      "description": "The percentage by which this product is reduced in price.",
                      "example": "50"
                    },
                    "regular": {
                      "type": "string",
                      "description": "Regular sales price (not discounted).",
                      "example": "101.00"
                    },
                    "current": {
                      "type": "string",
                      "description": "Current sales price (discounted).",
                      "example": "50.50"
                    }
                  }
                },
                "images": {
                  "type": "array",
                  "description": "Images of Product.\nYou **MUST** supply **exactly** one image inside this array.\n",
                  "minItems": 1,
                  "maxItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "url"
                    ],
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "URL to image.",
                        "example": "https://example.com/kitten.png"
                      }
                    }
                  }
                },
                "teaser_image_url": {
                  "type": "string",
                  "description": "URL to teaser image of the product. This is a scaled down version of the original image which is optimized for preview purposes.\n",
                  "example": "https://example.com/kitten_teaser.png"
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the product. This is only available for products which have been created via the API.",
                  "example": "42"
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/products/{id}": {
      "get": {
        "tags": [
          "Product"
        ],
        "summary": "Product",
        "description": "Returns a product in the scope of a club.\n\nThis call returns `404 Not Found` if the images of the product in question\nare still being processed. Once the product is ready this call will return\nthe product.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the product."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "required": [
                "id",
                "name",
                "article_number"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "description": "ID of the product.",
                  "example": "4"
                },
                "name": {
                  "type": "string",
                  "description": "Name of Product.",
                  "example": "Blue ball with club logo"
                },
                "headline": {
                  "type": "string",
                  "description": "Headline of product description.",
                  "example": "Awesome blue ball with club logo"
                },
                "description": {
                  "type": "string",
                  "description": "Product description.",
                  "example": "This ball is of the finest quality and shows\na colored logo of our beloved club.\nIt is of normal size comes filled with air.\n"
                },
                "call_to_action": {
                  "type": "string",
                  "description": "Call to action",
                  "example": "Bye this ball NOW!"
                },
                "article_number": {
                  "type": "string",
                  "description": "Article number of product. This can be the same value as the Id.\n",
                  "example": "00000123"
                },
                "external_url": {
                  "type": "string",
                  "description": "URL to the Product in the external shop system",
                  "example": "https://shop.example.com/00000123-ball-blue"
                },
                "price": {
                  "type": "object",
                  "description": "Detailed price information.",
                  "required": [
                    "currency",
                    "current"
                  ],
                  "properties": {
                    "currency": {
                      "type": "string",
                      "description": "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the used currency.\n",
                      "example": "EUR"
                    },
                    "discount": {
                      "type": "string",
                      "description": "The percentage by which this product is reduced in price.",
                      "example": "50"
                    },
                    "regular": {
                      "type": "string",
                      "description": "Regular sales price (not discounted).",
                      "example": "101.00"
                    },
                    "current": {
                      "type": "string",
                      "description": "Current sales price (discounted).",
                      "example": "50.50"
                    }
                  }
                },
                "images": {
                  "type": "array",
                  "description": "Images of Product.\nYou **MUST** supply **exactly** one image inside this array.\n",
                  "minItems": 1,
                  "maxItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "url"
                    ],
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "URL to image.",
                        "example": "https://example.com/kitten.png"
                      }
                    }
                  }
                },
                "teaser_image_url": {
                  "type": "string",
                  "description": "URL to teaser image of the product. This is a scaled down version of the original image which is optimized for preview purposes.\n",
                  "example": "https://example.com/kitten_teaser.png"
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the product. This is only available for products which have been created via the API.",
                  "example": "42"
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Product"
        ],
        "summary": "Product",
        "description": "Deletes a product.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "ID of the product."
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/statistics/push": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Push",
        "description": "Returns statistics about registered devices for clubs.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "tags": {
                  "type": "array",
                  "description": "List of statistics by tag name.",
                  "items": {
                    "type": "object",
                    "description": "Statistic of a tag.",
                    "properties": {
                      "tag": {
                        "type": "string",
                        "description": "Name of the tag.",
                        "example": "matchday_home"
                      },
                      "total": {
                        "type": "integer",
                        "description": "Number of subscribed devices.",
                        "example": 31415
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "description": "Human readable error description",
                  "example": "invalid token"
                }
              }
            }
          }
        }
      }
    },
    "/clubs/{club_id}/settings": {
      "get": {
        "tags": [
          "Other"
        ],
        "summary": "Settings",
        "description": "Returns settings of the club.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "notifications": {
                      "type": "object",
                      "description": "Settings which match event will be send out as notification.",
                      "properties": {
                        "for_goal_events": {
                          "type": "boolean",
                          "description": "True when goal events will be send as notification."
                        },
                        "for_goal_comment_events": {
                          "type": "boolean",
                          "description": "True when goal comment events will be send as notification."
                        },
                        "for_card_events": {
                          "type": "boolean",
                          "description": "True when card events will be send as notification."
                        },
                        "for_card_comment_events": {
                          "type": "boolean",
                          "description": "True when card comment events will be send as notification."
                        },
                        "for_substitution_events": {
                          "type": "boolean",
                          "description": "True when substitution events will be send as notification."
                        },
                        "for_substitution_comment_events": {
                          "type": "boolean",
                          "description": "True when substitution comment events will be send as notification."
                        },
                        "for_timetable_action_events": {
                          "type": "boolean",
                          "description": "True when timetable action events will be send as notification."
                        },
                        "for_timetable_action_comment_events": {
                          "type": "boolean",
                          "description": "True when timetable action comment events will be send as notification."
                        },
                        "for_lineup_complete_events": {
                          "type": "boolean",
                          "description": "True when lineup complete events will be send as notification."
                        },
                        "for_lineup_complete_comment_events": {
                          "type": "boolean",
                          "description": "True when lineup complete comment events will be send as notification."
                        }
                      }
                    },
                    "liveticker": {
                      "type": "object",
                      "description": "Settings for the liveticker.\n\nIt will only be present when the feature is activated for the club.\n",
                      "properties": {
                        "comments_for_goal_events": {
                          "type": "boolean",
                          "description": "True if the club can write goal_comment_events in the liveticker. This will also tell you if there will be any goal_comment_events in the match_events and webhooks."
                        },
                        "comments_for_card_events": {
                          "type": "boolean",
                          "description": "True if the club can write card_comment_events in the liveticker. This will also tell you if there will be any card_comment_events in the match_events and webhooks."
                        },
                        "comments_for_substitution_events": {
                          "type": "boolean",
                          "description": "True if the club can write substitution_comment_events in the liveticker. This will also tell you if there will be any substitution_comment_events in the match_events and webhooks."
                        },
                        "comments_for_timetable_action_events": {
                          "type": "boolean",
                          "description": "True if the club can write timetable_action_comment_events in the liveticker. This will also tell you if there will be any timetable_action_comment_events in the match_events and webhooks."
                        },
                        "comments_for_lineup_complete_events": {
                          "type": "boolean",
                          "description": "True if the club can write lineup_complete_comment_events in the liveticker. This will also tell you if there will be any lineup_complete_comment_events in the match_events and webhooks."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/streams": {
      "get": {
        "tags": [
          "Stream"
        ],
        "summary": "Streams",
        "description": "Returns a list of streams.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of streams.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the stream."
                      },
                      "club_id": {
                        "type": "integer",
                        "description": "ID of the associated club."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the stream."
                      },
                      "title": {
                        "type": "string",
                        "description": "Title of the stream."
                      },
                      "link": {
                        "type": "string",
                        "description": "API URL to the stream."
                      },
                      "last_posted_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The datetime of the stream's most recent post."
                      },
                      "cover": {
                        "type": "object",
                        "properties": {
                          "file": {
                            "type": "object",
                            "description": "The streams's cover image, in different sizes.",
                            "properties": {
                              "small": {
                                "type": "string",
                                "description": "URL to the small sized image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              },
                              "medium": {
                                "type": "string",
                                "description": "URL to the medium sized image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpgw"
                              },
                              "large": {
                                "type": "string",
                                "description": "URL to the large sized image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              }
                            }
                          }
                        }
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "accounts": {
                        "type": "array",
                        "description": "List of accounts.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID of the account."
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the account."
                            },
                            "group_id": {
                              "type": "integer",
                              "description": "ID of the group which is associated to this account."
                            },
                            "type": {
                              "type": "string",
                              "description": "Type of account.",
                              "enum": [
                                "facebook",
                                "twitter",
                                "youtube",
                                "graph_instagram"
                              ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/streams/{handle}": {
      "get": {
        "tags": [
          "Stream"
        ],
        "summary": "Stream",
        "description": "Returns posts of a stream.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "handle",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Handle of the stream."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "since",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items after that time."
          },
          {
            "name": "until",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items before that time."
          },
          {
            "name": "networks[]",
            "in": "query",
            "type": "array",
            "description": "Filter post by network.",
            "collectionFormat": "multi",
            "items": {
              "type": "string",
              "enum": [
                "facebook",
                "twitter",
                "youtube",
                "graph_instagram"
              ]
            }
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of posts.",
                  "items": {
                    "type": "object",
                    "x-extendedDiscriminator": "type",
                    "discriminator": "type",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the post."
                      },
                      "external_id": {
                        "type": "integer",
                        "description": "ID of the external post."
                      },
                      "external_url": {
                        "type": "string",
                        "description": "URL to the external resource."
                      },
                      "published_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the post was published."
                      },
                      "profile_image_url": {
                        "type": "string",
                        "description": "URL to the profile image."
                      },
                      "image": {
                        "type": "object",
                        "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                        "properties": {
                          "medium": {
                            "type": "object",
                            "description": "Image with max size of 640 x 640 pixels.",
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL to a video if the activity source contains one."
                              }
                            }
                          }
                        }
                      },
                      "image_url": {
                        "type": "string",
                        "description": "URL to the image which is associated with the post."
                      },
                      "image_width": {
                        "type": "integer",
                        "description": "Width in pixels of the image."
                      },
                      "image_height": {
                        "type": "integer",
                        "description": "Height in pixels of the image."
                      },
                      "video_url": {
                        "type": "string",
                        "description": "URL to the video which is associated with the post."
                      },
                      "account": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the account."
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the account."
                          },
                          "group_id": {
                            "type": "integer",
                            "description": "ID of the group which is associated to this account."
                          },
                          "username": {
                            "type": "string",
                            "description": "Username of the account."
                          },
                          "full_name": {
                            "type": "string",
                            "description": "Full name of the account."
                          },
                          "display_name": {
                            "type": "string",
                            "description": "Display name of the account."
                          },
                          "handle": {
                            "type": "string",
                            "description": "Handle"
                          }
                        }
                      },
                      "type": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/videos": {
      "get": {
        "tags": [
          "Video"
        ],
        "summary": "Videos",
        "description": "Returns a list of all __unprotected__ videos.\nFor a list including protected videos, set the `include_protected`\nquery parameter.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "since",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items after that time."
          },
          {
            "name": "until",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Returns only items before that time."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "source_type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Returns only items from the given source type."
          },
          {
            "name": "include_protected",
            "in": "query",
            "type": "boolean",
            "required": false,
            "description": "Whether to include protected videos in the response."
          },
          {
            "name": "categories",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "example": [
              "Goals"
            ],
            "required": false,
            "description": "Returns only items for the given **whitelisted** categories.\n\nNOTE: if passed category is not whitelisted the result will be empty.\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of videos.",
                  "items": {
                    "type": "object",
                    "required": [
                      "categories",
                      "embed_codes",
                      "published_at",
                      "source_type",
                      "title",
                      "video_links"
                    ],
                    "properties": {
                      "id": {
                        "type": "integer",
                        "readOnly": true,
                        "description": "ID of the video."
                      },
                      "title": {
                        "type": "string",
                        "description": "Title of the video."
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the video."
                      },
                      "locale": {
                        "allOf": [
                          {
                            "type": "string",
                            "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                            "example": "de-DE",
                            "pattern": "[a-z]{2}-[A-Z]{2}"
                          }
                        ]
                      },
                      "published_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when a video was published.\n\n> Date of `published_at` might be before the time the video got imported the first time.\n"
                      },
                      "position": {
                        "type": "integer",
                        "description": "Position of the video in the original feed."
                      },
                      "source_type": {
                        "type": "string",
                        "description": "Source of the video.",
                        "enum": [
                          "youtube"
                        ]
                      },
                      "keywords": {
                        "type": "array",
                        "description": "List of keywords.",
                        "items": {
                          "type": "string"
                        }
                      },
                      "duration": {
                        "type": "integer",
                        "description": "Duration in seconds of the video."
                      },
                      "categories": {
                        "type": "array",
                        "description": "List of categories.",
                        "items": {
                          "type": "string"
                        }
                      },
                      "external_view_count": {
                        "type": "integer",
                        "description": "Number of total views on the original video platform."
                      },
                      "preview_images": {
                        "type": "object",
                        "readOnly": true,
                        "description": "Preview images of the video in different resolutions.",
                        "properties": {
                          "thumbnail": {
                            "type": "string",
                            "description": "URL to the image. (120x90>)"
                          },
                          "medium": {
                            "type": "string",
                            "description": "URL to the image. (320x138>)"
                          },
                          "large": {
                            "type": "string",
                            "description": "URL to the image. (480x360>)"
                          }
                        }
                      },
                      "cover_image": {
                        "type": "object",
                        "readOnly": true,
                        "description": "Cover image of the video in different resolutions.",
                        "properties": {
                          "small": {
                            "type": "string",
                            "description": "URL to the image."
                          },
                          "medium": {
                            "type": "string",
                            "description": "URL to the image."
                          },
                          "large": {
                            "type": "string",
                            "description": "URL to the image."
                          }
                        }
                      },
                      "embed_codes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "HTML/JS snippet to embed the video in a HTML page."
                            },
                            "target": {
                              "type": "string",
                              "description": "Target platform of the embed code.",
                              "enum": [
                                "any"
                              ]
                            },
                            "format": {
                              "type": "string",
                              "description": "Format of the video.",
                              "enum": [
                                "flash",
                                "html5"
                              ]
                            },
                            "quality": {
                              "type": "string",
                              "description": "Quality of the video. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                            }
                          }
                        }
                      },
                      "video_links": {
                        "type": "array",
                        "description": "List of links to the original platform to watch the video.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL to the video."
                            },
                            "target": {
                              "type": "string",
                              "description": "Target platform for the video. For example: \"any\", \"mobile\", \"desktop\".\n"
                            }
                          }
                        }
                      },
                      "video_sources": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL to the video source."
                            },
                            "format": {
                              "type": "string",
                              "description": "Format of the video source. For example: \"flash\", \"mp4\", \"html5\".\n"
                            },
                            "quality": {
                              "type": "string",
                              "description": "Quality of the video used by the embed code. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                            }
                          }
                        }
                      },
                      "match_id": {
                        "type": "integer",
                        "description": "The ID of the match associated with this video, if any."
                      },
                      "protected": {
                        "type": "boolean",
                        "description": "Whether this video is protected."
                      },
                      "ranking": {
                        "type": "integer",
                        "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                        "example": 5
                      },
                      "prio": {
                        "type": "boolean",
                        "example": true,
                        "default": false
                      },
                      "send_as_notification": {
                        "type": "boolean",
                        "example": false,
                        "default": false
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "post": {
        "tags": [
          "Video"
        ],
        "summary": "Video",
        "description": "Creates a video.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "video",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "video": {
                  "allOf": [
                    {
                      "type": "object",
                      "required": [
                        "categories",
                        "embed_codes",
                        "published_at",
                        "source_type",
                        "title",
                        "video_links"
                      ],
                      "properties": {
                        "id": {
                          "type": "integer",
                          "readOnly": true,
                          "description": "ID of the video."
                        },
                        "title": {
                          "type": "string",
                          "description": "Title of the video."
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the video."
                        },
                        "locale": {
                          "allOf": [
                            {
                              "type": "string",
                              "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                              "example": "de-DE",
                              "pattern": "[a-z]{2}-[A-Z]{2}"
                            }
                          ]
                        },
                        "published_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Date and time when a video was published.\n\n> Date of `published_at` might be before the time the video got imported the first time.\n"
                        },
                        "position": {
                          "type": "integer",
                          "description": "Position of the video in the original feed."
                        },
                        "source_type": {
                          "type": "string",
                          "description": "Source of the video.",
                          "enum": [
                            "youtube"
                          ]
                        },
                        "keywords": {
                          "type": "array",
                          "description": "List of keywords.",
                          "items": {
                            "type": "string"
                          }
                        },
                        "duration": {
                          "type": "integer",
                          "description": "Duration in seconds of the video."
                        },
                        "categories": {
                          "type": "array",
                          "description": "List of categories.",
                          "items": {
                            "type": "string"
                          }
                        },
                        "external_view_count": {
                          "type": "integer",
                          "description": "Number of total views on the original video platform."
                        },
                        "preview_images": {
                          "type": "object",
                          "readOnly": true,
                          "description": "Preview images of the video in different resolutions.",
                          "properties": {
                            "thumbnail": {
                              "type": "string",
                              "description": "URL to the image. (120x90>)"
                            },
                            "medium": {
                              "type": "string",
                              "description": "URL to the image. (320x138>)"
                            },
                            "large": {
                              "type": "string",
                              "description": "URL to the image. (480x360>)"
                            }
                          }
                        },
                        "cover_image": {
                          "type": "object",
                          "readOnly": true,
                          "description": "Cover image of the video in different resolutions.",
                          "properties": {
                            "small": {
                              "type": "string",
                              "description": "URL to the image."
                            },
                            "medium": {
                              "type": "string",
                              "description": "URL to the image."
                            },
                            "large": {
                              "type": "string",
                              "description": "URL to the image."
                            }
                          }
                        },
                        "embed_codes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "code": {
                                "type": "string",
                                "description": "HTML/JS snippet to embed the video in a HTML page."
                              },
                              "target": {
                                "type": "string",
                                "description": "Target platform of the embed code.",
                                "enum": [
                                  "any"
                                ]
                              },
                              "format": {
                                "type": "string",
                                "description": "Format of the video.",
                                "enum": [
                                  "flash",
                                  "html5"
                                ]
                              },
                              "quality": {
                                "type": "string",
                                "description": "Quality of the video. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                              }
                            }
                          }
                        },
                        "video_links": {
                          "type": "array",
                          "description": "List of links to the original platform to watch the video.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL to the video."
                              },
                              "target": {
                                "type": "string",
                                "description": "Target platform for the video. For example: \"any\", \"mobile\", \"desktop\".\n"
                              }
                            }
                          }
                        },
                        "video_sources": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL to the video source."
                              },
                              "format": {
                                "type": "string",
                                "description": "Format of the video source. For example: \"flash\", \"mp4\", \"html5\".\n"
                              },
                              "quality": {
                                "type": "string",
                                "description": "Quality of the video used by the embed code. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                              }
                            }
                          }
                        },
                        "match_id": {
                          "type": "integer",
                          "description": "The ID of the match associated with this video, if any."
                        },
                        "protected": {
                          "type": "boolean",
                          "description": "Whether this video is protected."
                        },
                        "ranking": {
                          "type": "integer",
                          "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                          "example": 5
                        },
                        "prio": {
                          "type": "boolean",
                          "example": true,
                          "default": false
                        },
                        "send_as_notification": {
                          "type": "boolean",
                          "example": false,
                          "default": false
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "external_preview_image_url"
                      ],
                      "properties": {
                        "external_preview_image_url": {
                          "type": "string",
                          "description": "URL to preview image."
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Created",
            "schema": {
              "type": "object",
              "required": [
                "categories",
                "embed_codes",
                "published_at",
                "source_type",
                "title",
                "video_links"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "readOnly": true,
                  "description": "ID of the video."
                },
                "title": {
                  "type": "string",
                  "description": "Title of the video."
                },
                "description": {
                  "type": "string",
                  "description": "Description of the video."
                },
                "locale": {
                  "allOf": [
                    {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    }
                  ]
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when a video was published.\n\n> Date of `published_at` might be before the time the video got imported the first time.\n"
                },
                "position": {
                  "type": "integer",
                  "description": "Position of the video in the original feed."
                },
                "source_type": {
                  "type": "string",
                  "description": "Source of the video.",
                  "enum": [
                    "youtube"
                  ]
                },
                "keywords": {
                  "type": "array",
                  "description": "List of keywords.",
                  "items": {
                    "type": "string"
                  }
                },
                "duration": {
                  "type": "integer",
                  "description": "Duration in seconds of the video."
                },
                "categories": {
                  "type": "array",
                  "description": "List of categories.",
                  "items": {
                    "type": "string"
                  }
                },
                "external_view_count": {
                  "type": "integer",
                  "description": "Number of total views on the original video platform."
                },
                "preview_images": {
                  "type": "object",
                  "readOnly": true,
                  "description": "Preview images of the video in different resolutions.",
                  "properties": {
                    "thumbnail": {
                      "type": "string",
                      "description": "URL to the image. (120x90>)"
                    },
                    "medium": {
                      "type": "string",
                      "description": "URL to the image. (320x138>)"
                    },
                    "large": {
                      "type": "string",
                      "description": "URL to the image. (480x360>)"
                    }
                  }
                },
                "cover_image": {
                  "type": "object",
                  "readOnly": true,
                  "description": "Cover image of the video in different resolutions.",
                  "properties": {
                    "small": {
                      "type": "string",
                      "description": "URL to the image."
                    },
                    "medium": {
                      "type": "string",
                      "description": "URL to the image."
                    },
                    "large": {
                      "type": "string",
                      "description": "URL to the image."
                    }
                  }
                },
                "embed_codes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "description": "HTML/JS snippet to embed the video in a HTML page."
                      },
                      "target": {
                        "type": "string",
                        "description": "Target platform of the embed code.",
                        "enum": [
                          "any"
                        ]
                      },
                      "format": {
                        "type": "string",
                        "description": "Format of the video.",
                        "enum": [
                          "flash",
                          "html5"
                        ]
                      },
                      "quality": {
                        "type": "string",
                        "description": "Quality of the video. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                      }
                    }
                  }
                },
                "video_links": {
                  "type": "array",
                  "description": "List of links to the original platform to watch the video.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "URL to the video."
                      },
                      "target": {
                        "type": "string",
                        "description": "Target platform for the video. For example: \"any\", \"mobile\", \"desktop\".\n"
                      }
                    }
                  }
                },
                "video_sources": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "URL to the video source."
                      },
                      "format": {
                        "type": "string",
                        "description": "Format of the video source. For example: \"flash\", \"mp4\", \"html5\".\n"
                      },
                      "quality": {
                        "type": "string",
                        "description": "Quality of the video used by the embed code. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                      }
                    }
                  }
                },
                "match_id": {
                  "type": "integer",
                  "description": "The ID of the match associated with this video, if any."
                },
                "protected": {
                  "type": "boolean",
                  "description": "Whether this video is protected."
                },
                "ranking": {
                  "type": "integer",
                  "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                  "example": 5
                },
                "prio": {
                  "type": "boolean",
                  "example": true,
                  "default": false
                },
                "send_as_notification": {
                  "type": "boolean",
                  "example": false,
                  "default": false
                }
              }
            }
          },
          "400": {
            "description": "Parameter missing",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Required parameter missing: video"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/videos/{id}": {
      "get": {
        "tags": [
          "Video"
        ],
        "summary": "Video",
        "description": "Returns a video.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "ID of the video."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "required": [
                    "categories",
                    "embed_codes",
                    "published_at",
                    "source_type",
                    "title",
                    "video_links"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "ID of the video."
                    },
                    "title": {
                      "type": "string",
                      "description": "Title of the video."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the video."
                    },
                    "locale": {
                      "allOf": [
                        {
                          "type": "string",
                          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                          "example": "de-DE",
                          "pattern": "[a-z]{2}-[A-Z]{2}"
                        }
                      ]
                    },
                    "published_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when a video was published.\n\n> Date of `published_at` might be before the time the video got imported the first time.\n"
                    },
                    "position": {
                      "type": "integer",
                      "description": "Position of the video in the original feed."
                    },
                    "source_type": {
                      "type": "string",
                      "description": "Source of the video.",
                      "enum": [
                        "youtube"
                      ]
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "duration": {
                      "type": "integer",
                      "description": "Duration in seconds of the video."
                    },
                    "categories": {
                      "type": "array",
                      "description": "List of categories.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "external_view_count": {
                      "type": "integer",
                      "description": "Number of total views on the original video platform."
                    },
                    "preview_images": {
                      "type": "object",
                      "readOnly": true,
                      "description": "Preview images of the video in different resolutions.",
                      "properties": {
                        "thumbnail": {
                          "type": "string",
                          "description": "URL to the image. (120x90>)"
                        },
                        "medium": {
                          "type": "string",
                          "description": "URL to the image. (320x138>)"
                        },
                        "large": {
                          "type": "string",
                          "description": "URL to the image. (480x360>)"
                        }
                      }
                    },
                    "cover_image": {
                      "type": "object",
                      "readOnly": true,
                      "description": "Cover image of the video in different resolutions.",
                      "properties": {
                        "small": {
                          "type": "string",
                          "description": "URL to the image."
                        },
                        "medium": {
                          "type": "string",
                          "description": "URL to the image."
                        },
                        "large": {
                          "type": "string",
                          "description": "URL to the image."
                        }
                      }
                    },
                    "embed_codes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "HTML/JS snippet to embed the video in a HTML page."
                          },
                          "target": {
                            "type": "string",
                            "description": "Target platform of the embed code.",
                            "enum": [
                              "any"
                            ]
                          },
                          "format": {
                            "type": "string",
                            "description": "Format of the video.",
                            "enum": [
                              "flash",
                              "html5"
                            ]
                          },
                          "quality": {
                            "type": "string",
                            "description": "Quality of the video. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                          }
                        }
                      }
                    },
                    "video_links": {
                      "type": "array",
                      "description": "List of links to the original platform to watch the video.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string",
                            "description": "URL to the video."
                          },
                          "target": {
                            "type": "string",
                            "description": "Target platform for the video. For example: \"any\", \"mobile\", \"desktop\".\n"
                          }
                        }
                      }
                    },
                    "video_sources": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string",
                            "description": "URL to the video source."
                          },
                          "format": {
                            "type": "string",
                            "description": "Format of the video source. For example: \"flash\", \"mp4\", \"html5\".\n"
                          },
                          "quality": {
                            "type": "string",
                            "description": "Quality of the video used by the embed code. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                          }
                        }
                      }
                    },
                    "match_id": {
                      "type": "integer",
                      "description": "The ID of the match associated with this video, if any."
                    },
                    "protected": {
                      "type": "boolean",
                      "description": "Whether this video is protected."
                    },
                    "ranking": {
                      "type": "integer",
                      "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                      "example": 5
                    },
                    "prio": {
                      "type": "boolean",
                      "example": true,
                      "default": false
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "example": false,
                      "default": false
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Video"
        ],
        "summary": "Video",
        "description": "Deletes a video by ID.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "ID of the video."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      },
      "put": {
        "tags": [
          "Video"
        ],
        "summary": "Video",
        "description": "Updates a video by ID.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "ID of the video."
          },
          {
            "name": "video",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "video": {
                  "allOf": [
                    {
                      "type": "object",
                      "required": [
                        "categories",
                        "embed_codes",
                        "published_at",
                        "source_type",
                        "title",
                        "video_links"
                      ],
                      "properties": {
                        "id": {
                          "type": "integer",
                          "readOnly": true,
                          "description": "ID of the video."
                        },
                        "title": {
                          "type": "string",
                          "description": "Title of the video."
                        },
                        "description": {
                          "type": "string",
                          "description": "Description of the video."
                        },
                        "locale": {
                          "allOf": [
                            {
                              "type": "string",
                              "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                              "example": "de-DE",
                              "pattern": "[a-z]{2}-[A-Z]{2}"
                            }
                          ]
                        },
                        "published_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Date and time when a video was published.\n\n> Date of `published_at` might be before the time the video got imported the first time.\n"
                        },
                        "position": {
                          "type": "integer",
                          "description": "Position of the video in the original feed."
                        },
                        "source_type": {
                          "type": "string",
                          "description": "Source of the video.",
                          "enum": [
                            "youtube"
                          ]
                        },
                        "keywords": {
                          "type": "array",
                          "description": "List of keywords.",
                          "items": {
                            "type": "string"
                          }
                        },
                        "duration": {
                          "type": "integer",
                          "description": "Duration in seconds of the video."
                        },
                        "categories": {
                          "type": "array",
                          "description": "List of categories.",
                          "items": {
                            "type": "string"
                          }
                        },
                        "external_view_count": {
                          "type": "integer",
                          "description": "Number of total views on the original video platform."
                        },
                        "preview_images": {
                          "type": "object",
                          "readOnly": true,
                          "description": "Preview images of the video in different resolutions.",
                          "properties": {
                            "thumbnail": {
                              "type": "string",
                              "description": "URL to the image. (120x90>)"
                            },
                            "medium": {
                              "type": "string",
                              "description": "URL to the image. (320x138>)"
                            },
                            "large": {
                              "type": "string",
                              "description": "URL to the image. (480x360>)"
                            }
                          }
                        },
                        "cover_image": {
                          "type": "object",
                          "readOnly": true,
                          "description": "Cover image of the video in different resolutions.",
                          "properties": {
                            "small": {
                              "type": "string",
                              "description": "URL to the image."
                            },
                            "medium": {
                              "type": "string",
                              "description": "URL to the image."
                            },
                            "large": {
                              "type": "string",
                              "description": "URL to the image."
                            }
                          }
                        },
                        "embed_codes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "code": {
                                "type": "string",
                                "description": "HTML/JS snippet to embed the video in a HTML page."
                              },
                              "target": {
                                "type": "string",
                                "description": "Target platform of the embed code.",
                                "enum": [
                                  "any"
                                ]
                              },
                              "format": {
                                "type": "string",
                                "description": "Format of the video.",
                                "enum": [
                                  "flash",
                                  "html5"
                                ]
                              },
                              "quality": {
                                "type": "string",
                                "description": "Quality of the video. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                              }
                            }
                          }
                        },
                        "video_links": {
                          "type": "array",
                          "description": "List of links to the original platform to watch the video.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL to the video."
                              },
                              "target": {
                                "type": "string",
                                "description": "Target platform for the video. For example: \"any\", \"mobile\", \"desktop\".\n"
                              }
                            }
                          }
                        },
                        "video_sources": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL to the video source."
                              },
                              "format": {
                                "type": "string",
                                "description": "Format of the video source. For example: \"flash\", \"mp4\", \"html5\".\n"
                              },
                              "quality": {
                                "type": "string",
                                "description": "Quality of the video used by the embed code. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                              }
                            }
                          }
                        },
                        "match_id": {
                          "type": "integer",
                          "description": "The ID of the match associated with this video, if any."
                        },
                        "protected": {
                          "type": "boolean",
                          "description": "Whether this video is protected."
                        },
                        "ranking": {
                          "type": "integer",
                          "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                          "example": 5
                        },
                        "prio": {
                          "type": "boolean",
                          "example": true,
                          "default": false
                        },
                        "send_as_notification": {
                          "type": "boolean",
                          "example": false,
                          "default": false
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "external_preview_image_url"
                      ],
                      "properties": {
                        "external_preview_image_url": {
                          "type": "string",
                          "description": "URL to preview image."
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated",
            "schema": {
              "type": "object",
              "required": [
                "categories",
                "embed_codes",
                "published_at",
                "source_type",
                "title",
                "video_links"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "readOnly": true,
                  "description": "ID of the video."
                },
                "title": {
                  "type": "string",
                  "description": "Title of the video."
                },
                "description": {
                  "type": "string",
                  "description": "Description of the video."
                },
                "locale": {
                  "allOf": [
                    {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    }
                  ]
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when a video was published.\n\n> Date of `published_at` might be before the time the video got imported the first time.\n"
                },
                "position": {
                  "type": "integer",
                  "description": "Position of the video in the original feed."
                },
                "source_type": {
                  "type": "string",
                  "description": "Source of the video.",
                  "enum": [
                    "youtube"
                  ]
                },
                "keywords": {
                  "type": "array",
                  "description": "List of keywords.",
                  "items": {
                    "type": "string"
                  }
                },
                "duration": {
                  "type": "integer",
                  "description": "Duration in seconds of the video."
                },
                "categories": {
                  "type": "array",
                  "description": "List of categories.",
                  "items": {
                    "type": "string"
                  }
                },
                "external_view_count": {
                  "type": "integer",
                  "description": "Number of total views on the original video platform."
                },
                "preview_images": {
                  "type": "object",
                  "readOnly": true,
                  "description": "Preview images of the video in different resolutions.",
                  "properties": {
                    "thumbnail": {
                      "type": "string",
                      "description": "URL to the image. (120x90>)"
                    },
                    "medium": {
                      "type": "string",
                      "description": "URL to the image. (320x138>)"
                    },
                    "large": {
                      "type": "string",
                      "description": "URL to the image. (480x360>)"
                    }
                  }
                },
                "cover_image": {
                  "type": "object",
                  "readOnly": true,
                  "description": "Cover image of the video in different resolutions.",
                  "properties": {
                    "small": {
                      "type": "string",
                      "description": "URL to the image."
                    },
                    "medium": {
                      "type": "string",
                      "description": "URL to the image."
                    },
                    "large": {
                      "type": "string",
                      "description": "URL to the image."
                    }
                  }
                },
                "embed_codes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "description": "HTML/JS snippet to embed the video in a HTML page."
                      },
                      "target": {
                        "type": "string",
                        "description": "Target platform of the embed code.",
                        "enum": [
                          "any"
                        ]
                      },
                      "format": {
                        "type": "string",
                        "description": "Format of the video.",
                        "enum": [
                          "flash",
                          "html5"
                        ]
                      },
                      "quality": {
                        "type": "string",
                        "description": "Quality of the video. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                      }
                    }
                  }
                },
                "video_links": {
                  "type": "array",
                  "description": "List of links to the original platform to watch the video.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "URL to the video."
                      },
                      "target": {
                        "type": "string",
                        "description": "Target platform for the video. For example: \"any\", \"mobile\", \"desktop\".\n"
                      }
                    }
                  }
                },
                "video_sources": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "URL to the video source."
                      },
                      "format": {
                        "type": "string",
                        "description": "Format of the video source. For example: \"flash\", \"mp4\", \"html5\".\n"
                      },
                      "quality": {
                        "type": "string",
                        "description": "Quality of the video used by the embed code. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                      }
                    }
                  }
                },
                "match_id": {
                  "type": "integer",
                  "description": "The ID of the match associated with this video, if any."
                },
                "protected": {
                  "type": "boolean",
                  "description": "Whether this video is protected."
                },
                "ranking": {
                  "type": "integer",
                  "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                  "example": 5
                },
                "prio": {
                  "type": "boolean",
                  "example": true,
                  "default": false
                },
                "send_as_notification": {
                  "type": "boolean",
                  "example": false,
                  "default": false
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/whitelisted_categories": {
      "get": {
        "tags": [
          "Other"
        ],
        "summary": "Whitelisted Categories",
        "description": "Returns a list of categories which are whitelisted.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of alerts.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the category."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the category."
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of the category."
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/posts": {
      "get": {
        "tags": [
          "Manual Posts"
        ],
        "summary": "Manual Posts",
        "description": "Returns a list of manual posts.",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of manual posts.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the manual post."
                      },
                      "title": {
                        "type": "string",
                        "description": "Title describing the post's content."
                      },
                      "url": {
                        "type": "string",
                        "description": "URL provided with the image. For Audio attachments it is always empty string.",
                        "example": "https://www.coca-colacompany.com/"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The UTC date/time at which the current object was created."
                      },
                      "locale": {
                        "type": "string",
                        "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                        "example": "de-DE",
                        "pattern": "[a-z]{2}-[A-Z]{2}"
                      },
                      "attachment": {
                        "type": "object",
                        "discriminator": "type",
                        "x-extendedDiscriminator": "type",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Type of the attachment."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/news_streams/{handle}": {
      "get": {
        "tags": [
          "News Streams"
        ],
        "summary": "News Streams",
        "description": "News Streams contain items of different types (news/videos/social media\nposts). Items are freely re-arrangable by editors. The response reflects\nthis ordering and returns the most recent 100 items per stream. Streams\nare identified by their handles.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "in": "path",
            "name": "handle",
            "required": true,
            "type": "string",
            "description": "Unique identifier of the stream.\n\nYou may use `default` for the handle and it will give you the default news stream. \nIf you have news streams for different locales (e.g., a German and an English one), then `default` will return the news stream of the selected locale. \nIf you use default without specifying a locale, it will return the default news stream for the access token's locale.\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "handle": {
                      "type": "string",
                      "description": "Handle of the news stream."
                    },
                    "items": {
                      "type": "object",
                      "discriminator": "type",
                      "x-extendedDiscriminator": "type",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the item."
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of the item."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs": {
      "get": {
        "tags": [
          "Club"
        ],
        "summary": "Clubs",
        "description": "Returns a list of clubs.",
        "parameters": [
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of clubs.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the club. This **SHALL NOT** change for a club.",
                        "example": 42
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the club.",
                        "example": "Hamburger SV"
                      },
                      "international_name": {
                        "type": "string",
                        "description": "International name of the club."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the club.",
                        "example": "HSV"
                      },
                      "link": {
                        "type": "string",
                        "description": "API-URL to this club."
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{id}": {
      "get": {
        "tags": [
          "Club"
        ],
        "summary": "Club",
        "description": "Returns a club by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the club. This **SHALL NOT** change for a club.",
                          "example": 42
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the club.",
                          "example": "Hamburger SV"
                        },
                        "international_name": {
                          "type": "string",
                          "description": "International name of the club."
                        },
                        "handle": {
                          "type": "string",
                          "description": "Handle of the club.",
                          "example": "HSV"
                        },
                        "link": {
                          "type": "string",
                          "description": "API-URL to this club."
                        }
                      }
                    }
                  ],
                  "type": "object",
                  "properties": {
                    "news_link": {
                      "type": "string",
                      "description": "API-URL to the news of this club."
                    },
                    "videos_link": {
                      "type": "string",
                      "description": "API-URL to the videos of this club."
                    },
                    "website_url": {
                      "type": "string",
                      "description": "URL to the official website.",
                      "example": "https://www.hsv.de/"
                    },
                    "calendars_url": {
                      "type": "string",
                      "description": "API-URL to the calendar resource of this club."
                    },
                    "address": {
                      "allOf": [
                        {
                          "description": "Address of the club."
                        },
                        {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "Name of the address.",
                              "example": "Volksparkstadion"
                            },
                            "city": {
                              "type": "string",
                              "description": "City of the address.",
                              "example": "Hamburg"
                            },
                            "street": {
                              "type": "string",
                              "description": "Street of the address.",
                              "example": "Sylvesterallee 7"
                            },
                            "postal_code": {
                              "type": "string",
                              "description": "Postal code of the address.",
                              "example": "22525"
                            },
                            "lng": {
                              "type": "number",
                              "format": "float",
                              "description": "Longitude of the address.",
                              "example": 9.8986
                            },
                            "lat": {
                              "type": "number",
                              "format": "float",
                              "description": "Latitude of the address.",
                              "example": 53.5872
                            }
                          }
                        }
                      ]
                    },
                    "emblem": {
                      "type": "object",
                      "description": "The club emblem in different resolutions.",
                      "properties": {
                        "medium": {
                          "type": "string",
                          "description": "URL to the image in medium resolution (300x300>)."
                        },
                        "mini": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (36x36>)."
                        },
                        "small": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (70x70>)."
                        }
                      }
                    },
                    "stadium": {
                      "type": "object",
                      "description": "The home stadium of the club.",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "Name of the stadium.",
                          "example": "Volksparkstadion"
                        },
                        "seats": {
                          "type": "integer",
                          "description": "Number of seats/capacity of the stadium.",
                          "example": 57000
                        },
                        "surface": {
                          "type": "string",
                          "description": "Surface of the stadium.",
                          "example": "turf",
                          "enum": [
                            "artificial_turf",
                            "turf"
                          ]
                        },
                        "plan_image": {
                          "allOf": [
                            {
                              "type": "object",
                              "properties": {
                                "medium": {
                                  "type": "string",
                                  "description": "URL to image in medium resolution (300x300>)."
                                },
                                "mini": {
                                  "type": "string",
                                  "description": "URL to image in mini resolution (30x30>)."
                                },
                                "icon_mini": {
                                  "type": "string",
                                  "description": "URL to image in icon resolution (24x24>)."
                                }
                              }
                            },
                            {
                              "description": "Image of the stadium layout in different resolutions."
                            }
                          ]
                        },
                        "image": {
                          "allOf": [
                            {
                              "type": "object",
                              "properties": {
                                "medium": {
                                  "type": "string",
                                  "description": "URL to image in medium resolution (300x300>)."
                                },
                                "mini": {
                                  "type": "string",
                                  "description": "URL to image in mini resolution (30x30>)."
                                },
                                "icon_mini": {
                                  "type": "string",
                                  "description": "URL to image in icon resolution (24x24>)."
                                }
                              }
                            },
                            {
                              "description": "Image of the stadium in different resolutions."
                            }
                          ]
                        },
                        "address": {
                          "allOf": [
                            {
                              "type": "object",
                              "properties": {
                                "name": {
                                  "type": "string",
                                  "description": "Name of the address.",
                                  "example": "Volksparkstadion"
                                },
                                "city": {
                                  "type": "string",
                                  "description": "City of the address.",
                                  "example": "Hamburg"
                                },
                                "street": {
                                  "type": "string",
                                  "description": "Street of the address.",
                                  "example": "Sylvesterallee 7"
                                },
                                "postal_code": {
                                  "type": "string",
                                  "description": "Postal code of the address.",
                                  "example": "22525"
                                },
                                "lng": {
                                  "type": "number",
                                  "format": "float",
                                  "description": "Longitude of the address.",
                                  "example": 9.8986
                                },
                                "lat": {
                                  "type": "number",
                                  "format": "float",
                                  "description": "Latitude of the address.",
                                  "example": 53.5872
                                }
                              }
                            },
                            {
                              "description": "Address of the stadium."
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/launch_screen": {
      "get": {
        "tags": [
          "Launch Screen"
        ],
        "summary": "Launch screen",
        "description": "Data backing this club's mobile application's launch screen.\n\nIf the club has a [File](#tag/File) with handle `splash_unique_size`,\nthis file's URL is returned as `splash_screen_image_url`.\n\nIf the club has a [Custom Field](#tag/Custom-Field) with key `netradio_link`,\nthis field's value is returned as `netradio_url`.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "upcoming_match_id": {
                      "type": "integer",
                      "description": "ID of this club's ongoing or upcoming match."
                    },
                    "upcoming_match_starts_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "upcoming_match_event_status": {
                      "type": "string",
                      "description": "State of the match.\n\n| value         | description                     |\n|:--------------|:--------------------------------|\n| `pre-event`   | upcoming match                  |\n| `post-event`  | past match                      |\n| `mid-event`   | running match                   |\n| `halted`      | match aborted                   |\n| `canceled`    | match was canceled              |\n| `forfeited`   | match was decided off the field |\n| `postponed`   | match was postponed             |\n| `rescheduled` | match was given a new date      |\n| `delayed`     | match started later             |\n"
                    },
                    "upcoming_match_scores": {
                      "type": "object",
                      "properties": {
                        "home": {
                          "type": "integer",
                          "description": "The home team's goal score."
                        },
                        "guest": {
                          "type": "integer",
                          "description": "The guest team's goal score."
                        }
                      }
                    },
                    "upcoming_match_tournament_id": {
                      "type": "integer",
                      "description": "Tournament ID of this club's ongoing or upcoming match."
                    },
                    "upcoming_match_tournament_name": {
                      "type": "string",
                      "description": "Tournament name of this club's ongoing or upcoming match.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                    },
                    "upcoming_match_home_match": {
                      "type": "boolean",
                      "description": "Whether this club's ongoing or upcoming match is a home match."
                    },
                    "upcoming_match_liveticker_available": {
                      "type": "boolean",
                      "description": "Whether this club's ongoing or upcoming match has match commentary."
                    },
                    "upcoming_match_venue_name": {
                      "type": "boolean",
                      "description": "Venue name of this club's ongoing or upcoming match."
                    },
                    "upcoming_match_name": {
                      "type": "string",
                      "description": "optional name of the ongoing or upcoming match."
                    },
                    "splash_screen_image_url": {
                      "type": "string",
                      "description": "An image URL to the splash screen image."
                    },
                    "emergency_mode": {
                      "type": "boolean",
                      "description": "Whether this club is is emergency mode."
                    },
                    "netradio_url": {
                      "type": "string",
                      "description": "An audio URL to this club's netradio broadcast."
                    },
                    "upcoming_match_opponent_name": {
                      "type": "string",
                      "description": "The name of this club's upcoming opponent."
                    },
                    "upcoming_match_opponent_emblem": {
                      "type": "object",
                      "description": "The club emblem in different resolutions.",
                      "properties": {
                        "medium": {
                          "type": "string",
                          "description": "URL to the image in medium resolution (300x300>)."
                        },
                        "mini": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (36x36>)."
                        },
                        "small": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (70x70>)."
                        }
                      }
                    },
                    "upcoming_match_matchday_live": {
                      "type": "boolean",
                      "description": "Whether this club's ongoing or upcoming match has an active Matchday\nstream.\n"
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "an integer representing the current minute of a match"
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Period in which the team won the corner."
                    },
                    "in_break": {
                      "type": "boolean",
                      "description": "True when the match is currently in halftime break."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Minute of the period in which the person receives the card"
                    },
                    "upcoming_event_id": {
                      "type": "integer",
                      "description": "ID of the next upcoming event for this club."
                    },
                    "upcoming_event_starts_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the next upcoming event for this club starts."
                    },
                    "upcoming_event_name": {
                      "type": "string",
                      "description": "Name of the next upcoming event for this club."
                    },
                    "upcoming_event_stream_live": {
                      "type": "boolean",
                      "description": "Whether the next upcoming event for this club has an active event stream."
                    },
                    "upcoming_event_venue_name": {
                      "type": "string",
                      "description": "Venue name of the next upcoming event for this club."
                    },
                    "upcoming_occasion_type": {
                      "type": "string",
                      "description": "Type of the next upcoming occasion for this club for example: \"match\", \"event\", \"etc.\"."
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/matchday": {
      "get": {
        "tags": [
          "Is Matchday"
        ],
        "summary": "Is Matchday",
        "description": "Returns if today is a matchday. If yes then it returns values for match_id, starts_at and ends_at\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "is_match_day": {
                  "type": "boolean",
                  "description": "If today is a matchday"
                },
                "match_id": {
                  "type": "integer",
                  "description": "ID of the match"
                },
                "starts_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Start of the matchday"
                },
                "ends_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "End of the matchday"
                },
                "match_matchday_live": {
                  "type": "boolean",
                  "description": "If the matchday is live"
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/matches/{match_id}/match_facts": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Facts",
        "description": "Return facts about the match.",
        "parameters": [
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "club_id",
            "in": "query",
            "description": "The club ID to scope highlight videos by.",
            "type": "number"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "match_id": {
                      "type": "integer",
                      "description": "ID of the match."
                    },
                    "season_id": {
                      "type": "integer",
                      "description": "ID of the season."
                    },
                    "season_name": {
                      "type": "string",
                      "description": "ID of the name."
                    },
                    "tournament_id": {
                      "type": "integer",
                      "description": "ID of the tournament."
                    },
                    "tournament_name": {
                      "type": "string",
                      "description": "Name of the tournament."
                    },
                    "tournament_handle": {
                      "type": "string",
                      "description": "Handle of the tournament."
                    },
                    "division_id": {
                      "type": "integer",
                      "description": "ID of the division the match belongs to."
                    },
                    "division_name": {
                      "type": "string",
                      "description": "Name of the division the match belongs to."
                    },
                    "round_id": {
                      "type": "integer",
                      "description": "ID of the round the match belongs to."
                    },
                    "round_name": {
                      "type": "string",
                      "description": "Name of the round the match belongs to."
                    },
                    "start_date_time": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Time and date the match starts."
                    },
                    "live": {
                      "type": "boolean",
                      "description": "True when the match is currently running."
                    },
                    "in_break": {
                      "type": "boolean",
                      "description": "True when the match is currently in halftime break."
                    },
                    "period": {
                      "type": "integer",
                      "enum": [
                        2,
                        4
                      ],
                      "description": "| value | description           |\n|:------|:----------------------|\n| 2     | match has 90 minutes  |\n| 4     | match has 120 minutes |\n"
                    },
                    "period_in_words": {
                      "type": "string",
                      "description": "The information about the period.\n\n**NOTE**: the info will always be in the locale which is provide\n| value       | description                |\n|:------------|:---------------------------|\n| 1. HZ       | First half of match        |\n| 2. HZ       | Second half of match       |\n| Elfmeter.   | Match is in shootout       |\n| Ende        | Match has ended            |\n| Pause       | Match is in regular break  |\n| Verl. 1. HZ | First half of overtime     |\n| Verl. 2. HZ | Second half of overtime    |\n| Vor Anpfiff | Match has not been started |\n",
                      "enum": [
                        "1. HZ",
                        "2. HZ",
                        "Elfmeter.",
                        "Ende",
                        "Pause",
                        "Verl. 1. HZ",
                        "Verl. 2. HZ",
                        "Vor Anpfiff"
                      ]
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 120,
                      "description": "Total minutes elapsed."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 45,
                      "description": "Minutes elapsed for the current period."
                    },
                    "has_overtime": {
                      "type": "boolean",
                      "description": "True if the match has the first 15 minutes of overtime."
                    },
                    "has_overtime_2": {
                      "type": "boolean",
                      "description": "True if the match has the second 15 minutes of overtime."
                    },
                    "has_penalty_shootout": {
                      "type": "boolean",
                      "description": "True if the match is decided by penalty shootout."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Extratime elapsed in the current period in minutes."
                    },
                    "attendees": {
                      "type": "integer",
                      "description": "Total numer of attendees of the current match."
                    },
                    "event_status": {
                      "type": "string",
                      "description": "State of the current match."
                    },
                    "video_id": {
                      "type": "integer",
                      "description": "This match's associated video ID, if existent. __Note:__ This field will only be populated if the request included the `club_id` query parameter."
                    },
                    "match_name": {
                      "type": "string",
                      "description": "optional name of the match."
                    },
                    "cards": {
                      "type": "array",
                      "description": "List of all cards of the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the card."
                          },
                          "recipient_id": {
                            "type": "integer",
                            "description": "ID of the person who received the card."
                          },
                          "recipient_type": {
                            "type": "string",
                            "description": "Role of the person which receives the card.",
                            "enum": [
                              "player"
                            ]
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment of the card.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time in which the person received the card."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the person received the card."
                          },
                          "reason": {
                            "type": "string",
                            "description": "| value                            | description                                                       |\n|:---------------------------------|:------------------------------------------------------------------|\n| bad sportsmanship                | bad sportsmanship                                                 |\n| dangerous play                   | risking the wellbeing of the opponent                             |\n| delay of game                    | tactical game delay                                               |\n| dissent                          | dissent                                                           |\n| distance to the wall             | insufficient distance to wall during free kick                    |\n| dive                             | baffeled foul                                                     |\n| entering field                   | entering the field without permission                             |\n| fight                            | to resort to fisticuffs                                           |\n| foul                             | foul play                                                         |\n| foul and abusive language        | foul and abusive language                                         |\n| handball                         | tactical handball                                                 |\n| injured player on the field      | injured player on the field                                       |\n| insulting language               | groughing                                                         |\n| jubilance                        | jubilance                                                         |\n| not properly checked in the game | no or invalid permission to play                                  |\n| not visible                      | unknown reason                                                    |\n| off the ball foul                | foul without intention to hit the ball                            |\n| other                            | other breaches of rule                                            |\n| persistent infringement          | continuously violate the rules                                    |\n| professional foul                | tactical foul play                                                |\n| professional foul (handball)     | tactical hand ball                                                |\n| professional foul (last man)     | tactical foul to stop a player as last man on his way to the goal |\n| referee abuse                    | abuse the referee                                                 |\n| roughing                         | assaulting another person                                         |\n| serious foul                     | serious foul                                                      |\n| simulation                       | pretend to be fouled or simmilar                                  |\n| spitting                         | spitting to another player or referee                             |\n| touching(ed) the referee         | touching the referee                                              |\n| unknown                          | unknown reason                                                    |\n| unsporting behaviour             | unsporting behaviour                                              |\n| violent conduct                  | violent conduct                                                   |\n| entering referee review area     | entering referee review area                                      |\n| excessive usage of review signal | excessive usage of review signal                                  |\n| entering video operations room   | entering video operations room                                    |\n",
                            "enum": [
                              "bad sportsmanship",
                              "dangerous play",
                              "delay of game",
                              "dissent",
                              "distance to the wall",
                              "dive",
                              "entering field",
                              "fight",
                              "foul",
                              "foul and abusive language",
                              "handball",
                              "injured player on the field",
                              "insulting language",
                              "jubilance",
                              "not properly checked in the game",
                              "not visible",
                              "off the ball foul",
                              "other",
                              "persistent infringement",
                              "professional foul",
                              "professional foul (handball)",
                              "professional foul (last man)",
                              "referee abuse",
                              "roughing",
                              "serious foul",
                              "simulation",
                              "spitting",
                              "touching(ed) the referee",
                              "unknown",
                              "unsporting behaviour",
                              "violent conduct",
                              "entering referee review area",
                              "excessive usage of review signal",
                              "entering video operations room"
                            ]
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the match in which the person receives the card."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the person receives the card"
                          },
                          "type": {
                            "type": "string",
                            "description": "| value          | description     |\n|:---------------|:----------------|\n| red-card       | red card        |\n| yellow-card    | yellow card     |\n| yellowred-card | yellow red card |\n",
                            "enum": [
                              "red-card",
                              "yellow-card",
                              "yellowred-card"
                            ]
                          },
                          "player_uniform_number": {
                            "type": "integer",
                            "description": "Uniform number of the person who received the card."
                          },
                          "player_position_regular": {
                            "type": "string",
                            "description": "Position the booked person plays regularly."
                          },
                          "player_image_url": {
                            "type": "string",
                            "description": "URL to the portrait image of the official"
                          }
                        }
                      }
                    },
                    "corners": {
                      "type": "array",
                      "description": "List of all corners of the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the corner."
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club which won the corner."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team which won the corner."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time in which the team won the corner."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the team won the corner."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment for the corner.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the match in which the team won the corner."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the team won the corner."
                          }
                        }
                      }
                    },
                    "var_decisions": {
                      "type": "array",
                      "description": "List of all VAR decisions of the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the VAR event."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "event_type": {
                            "type": "string",
                            "description": "VAR decision event"
                          },
                          "season_id": {
                            "type": "integer",
                            "description": "ID of the season"
                          },
                          "tournament_id": {
                            "type": "integer",
                            "description": "ID of the tournament"
                          },
                          "reviewing": {
                            "type": "string",
                            "description": "| value                            | description                                                       |\n|:---------------------------------|:------------------------------------------------------------------|\n| goal                             | review of previously awarded goal                                 |\n| goal_not_awarded                 | review of previously unawarded goal                               |\n| penalty_awarded                  | review of foul for awarded penalty                                |\n| penalty_not_awarded              | review of foul for unawarded penalty                              |\n| card_upgrade                     | review of foul to upgrade yellow card                             |\n| mistaken_identity                | review of mistakingly cautioning the wrong player                 |\n| referee_decision_confirmed       | decision accepted                                                 |\n| referee_decision_cancelled       | decision overturned                                               |\n| red_card_given                   | review of foul for sending off a player                           |\n| review                           | review                                                            |\n",
                            "enum": [
                              "goal",
                              "goal_not_awarded",
                              "penalty_awarded",
                              "penalty_not_awarded",
                              "card_upgrade",
                              "mistaken_identity",
                              "referee_decision_confirmed",
                              "referee_decision_cancelled",
                              "red_card_given",
                              "review"
                            ]
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment for the review.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time when the event happened."
                          },
                          "period": {
                            "type": "integer",
                            "description": "The half in which the event happened."
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Extratime elapsed in the current period in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 120,
                            "description": "Total minutes elapsed."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the team won the corner."
                          }
                        }
                      }
                    },
                    "site": {
                      "type": "object",
                      "description": "Location of the match.",
                      "properties": {
                        "built": {
                          "type": "integer",
                          "description": "Year when the venue was built."
                        },
                        "city": {
                          "type": "string",
                          "description": "City where the match takes place."
                        },
                        "id": {
                          "type": "integer",
                          "description": "ID of the location where the match takes place."
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the location where the match takes place."
                        },
                        "pitch": {
                          "type": "object",
                          "description": "Size of the pitch.",
                          "properties": {
                            "x": {
                              "type": "integer",
                              "description": "Length of the pitch."
                            },
                            "y": {
                              "type": "integer",
                              "description": "Width of the pitch."
                            }
                          }
                        },
                        "postal_code": {
                          "type": "string",
                          "description": "Postal code of the location where the match takes place."
                        },
                        "roof": {
                          "type": "boolean",
                          "description": "True\twhen the stadium has a roof."
                        },
                        "seats": {
                          "type": "integer",
                          "description": "Bumber of seats/capacity of the venue."
                        },
                        "street": {
                          "type": "string",
                          "description": "Street address of the location where the match takes place."
                        },
                        "surface": {
                          "type": "string",
                          "description": "Surface of the stadium.",
                          "enum": [
                            "artificial_turf",
                            "turf"
                          ]
                        },
                        "url": {
                          "type": "string",
                          "description": "Website of the venue."
                        }
                      }
                    },
                    "substitutions": {
                      "type": "array",
                      "description": "List of all substitutions of the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "period": {
                            "type": "integer",
                            "description": "Period in which the substitution takes place."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Period in which the substitution takes place."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the substitution place."
                          },
                          "replacing_player_id": {
                            "type": "integer",
                            "description": "ID of the player which will replace."
                          },
                          "replacing_player_firstname": {
                            "type": "string",
                            "description": "Firstname of the player which will replace."
                          },
                          "replacing_player_lastname": {
                            "type": "string",
                            "description": "Lastname of the player which will replace."
                          },
                          "replacing_player_nickname": {
                            "type": "string",
                            "description": "Nickname of the player which will replace."
                          },
                          "original_player_id": {
                            "type": "integer",
                            "description": "ID of the original/leaving player."
                          },
                          "original_player_firstname": {
                            "type": "string",
                            "description": "Firstname of the original/leaving player."
                          },
                          "original_player_lastname": {
                            "type": "string",
                            "description": "Lastname of the original/leaving player."
                          },
                          "original_player_nickname": {
                            "type": "string",
                            "description": "Nickname of the original/leaving player."
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team which substitude players."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment of the substitution.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time in which the substitution takes place."
                          }
                        }
                      }
                    },
                    "teams": {
                      "type": "array",
                      "description": "List of all teams in the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the team.",
                            "example": 1401830
                          },
                          "alignment": {
                            "type": "string",
                            "description": "Alignment of the team.",
                            "enum": [
                              "away",
                              "home"
                            ]
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the team.",
                            "example": "SV Eintracht Trier 05"
                          },
                          "nickname": {
                            "type": "string",
                            "description": "Nickname of the team."
                          },
                          "lineup_complete": {
                            "type": "string",
                            "description": "True when lineup is completed."
                          },
                          "formation": {
                            "type": "integer",
                            "description": "Formation the team used in this match.\n\nMore infos:\n- [31213](../formations.html#31213)\n- [31312](../formations.html#31312)\n- [3142](../formations.html#3142)\n- [3412](../formations.html#3412)\n- [3421](../formations.html#3421)\n- [343](../formations.html#343)\n- [3511](../formations.html#3511)\n- [352](../formations.html#352)\n- [41212](../formations.html#41212)\n- [4132](../formations.html#4132)\n- [4141](../formations.html#4141)\n- [4222](../formations.html#4222)\n- [4231](../formations.html#4231)\n- [4240](../formations.html#4240)\n- [4312](../formations.html#4312)\n- [4321](../formations.html#4321)\n- [433](../formations.html#433)\n- [4411](../formations.html#4411)\n- [442](../formations.html#442)\n- [451](../formations.html#451)\n- [532](../formations.html#532)\n- [541](../formations.html#541)\n",
                            "enum": [
                              31213,
                              31312,
                              3142,
                              3412,
                              3421,
                              343,
                              3511,
                              352,
                              41212,
                              4132,
                              4141,
                              4222,
                              4231,
                              4240,
                              4312,
                              4321,
                              433,
                              4411,
                              442,
                              451,
                              532,
                              541
                            ]
                          },
                          "score": {
                            "allOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "final": {
                                    "description": "Final score of the match.",
                                    "type": "integer"
                                  },
                                  "period_1": {
                                    "description": "Score in the first period.",
                                    "type": "integer"
                                  },
                                  "period_2": {
                                    "description": "Score in the second period.",
                                    "type": "integer"
                                  },
                                  "period_3": {
                                    "description": "Score in the first period of overtime.",
                                    "type": "integer"
                                  },
                                  "period_4": {
                                    "description": "Score in the second period of overtime.",
                                    "type": "integer"
                                  },
                                  "period_5": {
                                    "description": "Score in the penalty shootout.",
                                    "type": "integer"
                                  }
                                }
                              },
                              {
                                "description": "Score of this team in this match."
                              }
                            ]
                          },
                          "club": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "ID of the club."
                              },
                              "link": {
                                "type": "string",
                                "description": "API URL to the club."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "medium": {
                                    "type": "string",
                                    "description": "URL to the image in medium resolution (300x300>)."
                                  },
                                  "mini": {
                                    "type": "string",
                                    "description": "URL to the image in mini resolution (36x36>)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL to the image in mini resolution (70x70>)."
                                  }
                                }
                              }
                            }
                          },
                          "officials": {
                            "type": "array",
                            "description": "List of all officals of the team.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "birthplace": {
                                  "type": "string",
                                  "description": "City where the official was born."
                                },
                                "date_of_birth": {
                                  "type": "string",
                                  "format": "date",
                                  "description": "Date of birth of the official.",
                                  "example": "1986-05-31"
                                },
                                "firstname": {
                                  "type": "string",
                                  "description": "First name of the official."
                                },
                                "join_date": {
                                  "type": "string",
                                  "description": "Date when the official joined the team."
                                },
                                "lastname": {
                                  "type": "string",
                                  "description": "Last name of the official."
                                },
                                "nationality": {
                                  "type": "string",
                                  "description": "Nationality of the official.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                                },
                                "position": {
                                  "type": "string",
                                  "description": "Position of the official in the team."
                                }
                              }
                            }
                          },
                          "players": {
                            "type": "array",
                            "description": "List of players who has involved in this game.",
                            "items": {
                              "allOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "description": "ID of the player."
                                    },
                                    "lastname": {
                                      "type": "string",
                                      "description": "Lastname of the player."
                                    },
                                    "firstname": {
                                      "type": "string",
                                      "description": "Firstname of the player."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "Name of the player."
                                    },
                                    "nickname": {
                                      "type": "string",
                                      "description": "Nickname of the player."
                                    },
                                    "position_regular": {
                                      "type": "string",
                                      "description": "Position the player plays regularly.",
                                      "enum": [
                                        "Goalkeeper",
                                        "Defender",
                                        "Midfielder",
                                        "Forward",
                                        "Wing Back",
                                        "Full Back",
                                        "Central Defender",
                                        "Defensive Midfielder",
                                        "Attacking Midfielder",
                                        "Central Midfielder",
                                        "Winger",
                                        "Striker",
                                        "Second Striker",
                                        "Left",
                                        "Right",
                                        "Centre",
                                        "Left/Centre",
                                        "Centre/Right",
                                        "Left/Centre/Right",
                                        "Left/Right"
                                      ]
                                    },
                                    "position_match": {
                                      "type": "string",
                                      "description": "Position the player plays in this match.",
                                      "enum": [
                                        "goalie",
                                        "defenseman",
                                        "mid-fielder",
                                        "forward",
                                        "wing-back",
                                        "full-back",
                                        "central-defenseman",
                                        "defensing-mid-fielder",
                                        "attacking-mid-fielder",
                                        "central-mid-fielder",
                                        "winger",
                                        "striker",
                                        "second-striker",
                                        "left",
                                        "right",
                                        "center",
                                        "left-center",
                                        "center-right",
                                        "left-center-right",
                                        "left-right"
                                      ]
                                    },
                                    "formation_position": {
                                      "type": "integer",
                                      "description": "Position in the [formation](../formations.html) of the player."
                                    },
                                    "uniform_number": {
                                      "type": "integer",
                                      "description": "Number on uniform of the player."
                                    },
                                    "status": {
                                      "type": "string",
                                      "description": "| value      | description                |\n|:-----------|:---------------------------|\n| starter    | playing from the beginning |\n| substitute | on the bench               |\n",
                                      "enum": [
                                        "starter",
                                        "substitute"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "portrait_image_url": {
                                      "type": "string",
                                      "description": "URL of player's portrait image."
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      }
                    },
                    "goals": {
                      "type": "array",
                      "description": "List of all goals in the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "player_id": {
                            "type": "integer",
                            "description": "ID of the player who has scored the goal."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the goal is scored."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time of the goal."
                          },
                          "type": {
                            "type": "string",
                            "description": "| value    | description                                  |\n|:---------|:---------------------------------------------|\n| regular  | a regular goal (counts in player statistics) |\n| own-goal | an own goal                                  |\n| penalty  | caused by a pentaly kick                     |\n",
                            "enum": [
                              "regular",
                              "own-goal",
                              "penalty"
                            ]
                          },
                          "outcome": {
                            "type": "string",
                            "description": "| value  | description   |\n|:-------|:--------------|\n| scored | a scored goal |\n| missed | a missed goal |\n| saved  | a saved goal  |\n",
                            "enum": [
                              "scored",
                              "missed",
                              "saved"
                            ]
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club the team belongs to."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team which has scored the goal."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "assisting_player_id": {
                            "type": "integer",
                            "description": "ID of the player who gave the assist to the goal."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment to the goal.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the match in which the goal ist scored."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the goal ist score."
                          }
                        }
                      }
                    },
                    "timetable_actions": {
                      "type": "array",
                      "description": "List of all timetable actions in the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the timetable action."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the timetable action takes place."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time of the timetable action."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment to the timetable action.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "type": {
                            "type": "string",
                            "description": "Type of the timetable action."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minutes elapsed in this period."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Total minutes elapsed."
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "regular_period_duration": {
                            "type": "integer",
                            "description": "The regular duration of the period in minutes, without any injury time."
                          }
                        }
                      }
                    },
                    "officials": {
                      "type": "array",
                      "description": "List of all officials in the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "position": {
                            "type": "string",
                            "description": "Position of the official in the team."
                          },
                          "firstname": {
                            "type": "string",
                            "description": "First name of official."
                          },
                          "lastname": {
                            "type": "string",
                            "description": "Last name of official."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/matches/{match_id}/parallel_match_facts": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Parallel Facts",
        "description": "Return only some facts about the match.\n\nUsed for displaying goals and cards ( only red and yellowred ) of another match running in parallel\n",
        "parameters": [
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "match_id": {
                      "type": "integer",
                      "description": "ID of the match."
                    },
                    "season_id": {
                      "type": "integer",
                      "description": "ID of the season."
                    },
                    "tournament_id": {
                      "type": "integer",
                      "description": "ID of the tournament."
                    },
                    "tournament_handle": {
                      "type": "string",
                      "description": "Handle of the tournament."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 120,
                      "description": "Total minutes elapsed."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 45,
                      "description": "Minutes elapsed for the current period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Extratime elapsed in the current period in minutes."
                    },
                    "match_name": {
                      "type": "string",
                      "description": "optional name of the match."
                    },
                    "cards": {
                      "type": "array",
                      "description": "List of all cards of the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the card."
                          },
                          "player_firstname": {
                            "type": "string",
                            "description": "Firstname of the Player."
                          },
                          "player_lastname": {
                            "type": "string",
                            "description": "Lastname of the Player."
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club."
                          },
                          "club_name": {
                            "type": "string",
                            "description": "Name of the club."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time in which the person received the card."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the person received the card."
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the match in which the person receives the card."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the person receives the card"
                          },
                          "type": {
                            "type": "string",
                            "description": "| value          | description     |\n|:---------------|:----------------|\n| red-card       | red card        |\n| yellow-card    | yellow card     |\n| yellowred-card | yellow red card |\n",
                            "enum": [
                              "red-card",
                              "yellow-card",
                              "yellowred-card"
                            ]
                          }
                        }
                      }
                    },
                    "goals": {
                      "type": "array",
                      "description": "List of all goals in the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the goal."
                          },
                          "player_firstname": {
                            "type": "string",
                            "description": "Firstname of the player who has scored the goal."
                          },
                          "player_lastname": {
                            "type": "string",
                            "description": "Lastname of the player who has scored the goal."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the goal is scored."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time of the goal."
                          },
                          "type": {
                            "type": "string",
                            "description": "| value    | description                                  |\n|:---------|:---------------------------------------------|\n| regular  | a regular goal (counts in player statistics) |\n| own-goal | an own goal                                  |\n| penalty  | caused by a pentaly kick                     |\n",
                            "enum": [
                              "regular",
                              "own-goal",
                              "penalty"
                            ]
                          },
                          "outcome": {
                            "type": "string",
                            "description": "| value  | description   |\n|:-------|:--------------|\n| scored | a scored goal |\n| missed | a missed goal |\n| saved  | a saved goal  |\n",
                            "enum": [
                              "scored",
                              "missed",
                              "saved"
                            ]
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club the team belongs to."
                          },
                          "club_name": {
                            "type": "string",
                            "description": "Name of the club the team belongs to."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team which has scored the goal."
                          },
                          "assisting_player_firstname": {
                            "type": "string",
                            "description": "Firstname of the player who gave the assist to the goal."
                          },
                          "assisting_player_lastname": {
                            "type": "string",
                            "description": "Lastame of the player who gave the assist to the goal."
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the match in which the goal ist scored."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the goal ist score."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/matches/{match_id}/team_stats": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Team Statistics",
        "description": "Return team statistics about the teams in the match.",
        "parameters": [
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "tournament_id": {
                      "type": "integer",
                      "description": "ID of the tournament the match belongs."
                    },
                    "season_id": {
                      "type": "integer",
                      "description": "ID of the season the match belongs."
                    },
                    "match_id": {
                      "type": "integer",
                      "description": "ID of the match."
                    },
                    "teams": {
                      "type": "array",
                      "description": "List of teams with details.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the team.",
                            "example": 1401830
                          },
                          "alignment": {
                            "type": "string",
                            "description": "Alignment of the team.",
                            "enum": [
                              "away",
                              "home"
                            ]
                          },
                          "average_age": {
                            "type": "integer",
                            "description": "Average Age of this team.\n"
                          },
                          "formation": {
                            "type": "integer",
                            "description": "Formation the team used in this match.\n\nMore infos:\n- [31213](../formations.html#31213)\n- [31312](../formations.html#31312)\n- [3142](../formations.html#3142)\n- [3412](../formations.html#3412)\n- [3421](../formations.html#3421)\n- [343](../formations.html#343)\n- [3511](../formations.html#3511)\n- [352](../formations.html#352)\n- [41212](../formations.html#41212)\n- [4132](../formations.html#4132)\n- [4141](../formations.html#4141)\n- [4222](../formations.html#4222)\n- [4231](../formations.html#4231)\n- [4240](../formations.html#4240)\n- [4312](../formations.html#4312)\n- [4321](../formations.html#4321)\n- [433](../formations.html#433)\n- [4411](../formations.html#4411)\n- [442](../formations.html#442)\n- [451](../formations.html#451)\n- [532](../formations.html#532)\n- [541](../formations.html#541)\n",
                            "enum": [
                              31213,
                              31312,
                              3142,
                              3412,
                              3421,
                              343,
                              3511,
                              352,
                              41212,
                              4132,
                              4141,
                              4222,
                              4231,
                              4240,
                              4312,
                              4321,
                              433,
                              4411,
                              442,
                              451,
                              532,
                              541
                            ]
                          },
                          "stats": {
                            "type": "object",
                            "properties": {
                              "score": {
                                "type": "integer",
                                "description": "Number of goals scored by this team in the match.\n"
                              },
                              "general": {
                                "type": "object",
                                "description": "General statistic data of this team in this match.",
                                "properties": {
                                  "duels": {
                                    "type": "integer",
                                    "description": "Total number of duels of this team in this match.\n"
                                  },
                                  "duels_won": {
                                    "type": "integer",
                                    "description": "Won duels of this team in this match.\n"
                                  },
                                  "duels_lost": {
                                    "type": "integer",
                                    "description": "Lost duels of this team in this match.\n"
                                  },
                                  "fifty_fifty": {
                                    "type": "integer",
                                    "description": "Fifty fifty duels of this team in this match.\n"
                                  },
                                  "successful_fifty_fifty": {
                                    "type": "integer",
                                    "description": "Won fifty fifty of this team in this match.\n"
                                  },
                                  "put_throught": {
                                    "type": "integer",
                                    "description": "Put throughts of this team in this match.\n"
                                  },
                                  "successful_put_throught": {
                                    "type": "integer",
                                    "description": "Succesful put throughts of this team in this match.\n"
                                  },
                                  "duels_won_in_percentage": {
                                    "type": "number",
                                    "format": "float",
                                    "description": "Duels won in percentage, in dfl tournaments, this statistics includes `fifty_fifty` and `put_throught` statistics.\n"
                                  },
                                  "balls_touched": {
                                    "type": "integer",
                                    "description": "Number of touched balls of this team in this match.\n"
                                  },
                                  "possession": {
                                    "type": "number",
                                    "format": "float",
                                    "minimum": 0,
                                    "maximum": 100,
                                    "description": "Ball possession as a percentage value.\n"
                                  },
                                  "passes": {
                                    "type": "integer",
                                    "description": "Total number of passes.\n"
                                  },
                                  "accurate_passes_in_percentage": {
                                    "type": "number",
                                    "format": "float",
                                    "minimum": 0,
                                    "maximum": 100,
                                    "description": "Accurate passes of th team in percentage.\n"
                                  },
                                  "accurate_passes_back_zone_in_percentage": {
                                    "type": "number",
                                    "format": "float",
                                    "minimum": 0,
                                    "maximum": 100,
                                    "description": "Accurate passes of the team in percentage in the own half of the pitch.\n"
                                  },
                                  "accurate_passes_fwd_zone_in_percentage": {
                                    "type": "number",
                                    "format": "float",
                                    "minimum": 0,
                                    "maximum": 100,
                                    "description": "Accurate passes of the team in percentage in the opponents half of the pitch.\n"
                                  }
                                }
                              },
                              "offensive": {
                                "type": "object",
                                "description": "Statistics for offense of this team in this match.",
                                "properties": {
                                  "shots": {
                                    "type": "integer",
                                    "description": "Number of total shots from this team.\n"
                                  },
                                  "penalty_shots": {
                                    "type": "integer",
                                    "description": "Number of penalty shots from this team.\n"
                                  },
                                  "shots_on_goal": {
                                    "type": "integer",
                                    "description": "Number of shots on goal from this team\n"
                                  },
                                  "clear_cut_chance_shots": {
                                    "type": "integer",
                                    "description": "Number of shots from clear cut chances from this team.\n"
                                  },
                                  "freekicks": {
                                    "type": "integer",
                                    "description": "Total number of attacking freekicks from this team.\n"
                                  },
                                  "offside": {
                                    "type": "integer",
                                    "description": "Number of offside situations of this team in the game.\n"
                                  },
                                  "corner_kicks": {
                                    "type": "integer",
                                    "description": "Number of corner kicks of this team in the game.\n"
                                  },
                                  "corner_kicks_left": {
                                    "type": "integer",
                                    "description": "Number of corner kicks of this team from the left side of the goal.\n"
                                  },
                                  "corner_kicks_right": {
                                    "type": "integer",
                                    "description": "Number of corner kicks of this team from the right side of the goal.\n"
                                  },
                                  "shots_outside_box": {
                                    "type": "integer",
                                    "description": "Number of shots from outside the penalty area of this team in the game.\n"
                                  },
                                  "shots_inside_box": {
                                    "type": "integer",
                                    "description": "Number of shots from inside the penalty area of this team in the game.\n"
                                  },
                                  "shots_foot_outside_box": {
                                    "type": "integer",
                                    "description": "Number of shots with foot from outside the penalty area of this team in the game.\n"
                                  },
                                  "shots_foot_inside_box": {
                                    "type": "integer",
                                    "description": "Number of shots with foot from inside the penalty area of this team in the game.\n"
                                  },
                                  "shots_header": {
                                    "type": "integer",
                                    "description": "Headers of team in the game.\n"
                                  },
                                  "crosses": {
                                    "type": "integer",
                                    "description": "Number of flanks.\n"
                                  },
                                  "crosses_left": {
                                    "type": "integer",
                                    "description": "Number of flanks from the left side.\n"
                                  },
                                  "crosses_right": {
                                    "type": "integer",
                                    "description": "Number of flanks from the right side.\n"
                                  },
                                  "woodwork_hits": {
                                    "type": "integer",
                                    "description": "Total number of occasions the ball hits the woodwork in any situation.\n"
                                  },
                                  "attacking_percentage_first_half": {
                                    "type": "object",
                                    "description": "Attacking percentages on each side of the field for the first half",
                                    "properties": {
                                      "left": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the left side of the pitch.\n"
                                      },
                                      "right": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the right side of the pitch.\n"
                                      },
                                      "middle": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out through the center of the pitch.\n"
                                      }
                                    }
                                  },
                                  "attacking_percentage_second_half": {
                                    "type": "object",
                                    "description": "Attacking percentages on each side of the field for the second half",
                                    "properties": {
                                      "left": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the left side of the pitch.\n"
                                      },
                                      "right": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the right side of the pitch.\n"
                                      },
                                      "middle": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out through the center of the pitch.\n"
                                      }
                                    }
                                  },
                                  "attacking_percentage_extra_time": {
                                    "type": "object",
                                    "description": "Attacking percentages on each side of the field for extra time",
                                    "properties": {
                                      "left": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the left side of the pitch.\n"
                                      },
                                      "right": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the right side of the pitch.\n"
                                      },
                                      "middle": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out through the center of the pitch.\n"
                                      }
                                    }
                                  },
                                  "attacking_percentage_overall": {
                                    "type": "object",
                                    "description": "Attacking percentages on each side of the field for the whole match",
                                    "properties": {
                                      "left": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the left side of the pitch.\n"
                                      },
                                      "right": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the right side of the pitch.\n"
                                      },
                                      "middle": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out through the center of the pitch.\n"
                                      }
                                    }
                                  }
                                }
                              },
                              "defensive": {
                                "type": "object",
                                "description": "Statistics for defensive of this team in this match.",
                                "properties": {
                                  "saves": {
                                    "type": "integer",
                                    "description": "Saves from the goaltender of this team.\n"
                                  },
                                  "ball_recovery": {
                                    "type": "integer",
                                    "description": "Total number taking possession of a loose ball by a player.\n"
                                  },
                                  "opponent_woodwork_hits": {
                                    "type": "integer",
                                    "description": "Total number of occasions the ball hits the woodwork of the own goal.\n"
                                  }
                                }
                              },
                              "foul": {
                                "type": "object",
                                "description": "Statistics for fouls of this team.",
                                "properties": {
                                  "fouls_suffered": {
                                    "type": "integer",
                                    "description": "Number of fouls suffered by this team.\n"
                                  },
                                  "fouls_committed": {
                                    "type": "integer",
                                    "description": "Number of fouls comitted by this team.\n"
                                  },
                                  "handballs": {
                                    "type": "integer",
                                    "description": "Number of handballs comitted by this team.\n"
                                  },
                                  "yellow_cards": {
                                    "type": "integer",
                                    "description": "Number of yellow cards received by this team.\n"
                                  },
                                  "yellow_red_cards": {
                                    "type": "integer",
                                    "description": "Number of yellow red cards received by this team.\n"
                                  },
                                  "red_cards": {
                                    "type": "integer",
                                    "description": "Number of red cards received by this team.\n"
                                  },
                                  "sent_offs": {
                                    "type": "integer",
                                    "description": "Number of sent offs received by this team.\n"
                                  }
                                }
                              }
                            }
                          },
                          "players": {
                            "type": "array",
                            "description": "List of team players with details.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "description": "ID of the player.\n"
                                },
                                "lastname": {
                                  "type": "string",
                                  "description": "Last name of the player.\n"
                                },
                                "firstname": {
                                  "type": "string",
                                  "description": "First name of the player.\n"
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of the player.\n"
                                },
                                "nickname": {
                                  "type": "string",
                                  "description": "Nickname of the player.\n"
                                },
                                "position_regular": {
                                  "type": "string",
                                  "description": "Regular position of the player."
                                },
                                "position_match": {
                                  "type": "string",
                                  "description": "Position of the player in this match.\n"
                                },
                                "formation_position": {
                                  "type": "integer",
                                  "description": "Position in the formation of the player in this match.\n"
                                },
                                "uniform_number": {
                                  "type": "integer",
                                  "description": "Uniform number of the player.\n"
                                },
                                "status": {
                                  "type": "string",
                                  "description": "| value   | description                |\n|:--------|:---------------------------|\n| starter | playing from the beginning |\n| bench   | on the bench               |\n",
                                  "enum": [
                                    "bench",
                                    "starter"
                                  ]
                                },
                                "stats": {
                                  "type": "object",
                                  "description": "Statistics about this player.",
                                  "properties": {
                                    "fouls": {
                                      "type": "integer",
                                      "description": "Fouls commited by the player.\n"
                                    },
                                    "touches": {
                                      "type": "integer",
                                      "description": "Count of the ball touches by the player.\n"
                                    },
                                    "duels": {
                                      "type": "integer",
                                      "description": "Duels by the player, in dfl tournaments, this statistics includes fifty_fifty and put_throught statistics.\n"
                                    },
                                    "duels_won": {
                                      "type": "integer",
                                      "description": "Duels won by the player, in dfl tournaments, this statistics includes fifty_fifty and put_throught statistics.\n"
                                    },
                                    "duels_won_in_percentage": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Duels won in percentage by the player, in dfl tournaments, this statistics includes fifty_fifty and put_throught statistics.\n"
                                    },
                                    "accurate_passes_in_percentage": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Accurate passes by the player in percentage.\n"
                                    },
                                    "goals": {
                                      "type": "integer",
                                      "description": "Number of goals, scored by the player.\n"
                                    },
                                    "assists_for_shots_on_goal": {
                                      "type": "integer",
                                      "description": "Number of assists, by the player, for shots on goal by other player.\n"
                                    },
                                    "assists_for_goals": {
                                      "type": "integer",
                                      "description": "Number of goal assists by the player.\n"
                                    },
                                    "offsides": {
                                      "type": "integer",
                                      "description": "Number of offsides of the player.\n"
                                    },
                                    "passes": {
                                      "type": "integer",
                                      "description": "Number of passes done by the player.\n"
                                    },
                                    "shots": {
                                      "type": "integer",
                                      "description": "Number of shots done by the player.\n"
                                    },
                                    "average_position_full_x": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average X coordinate on the pitch during the whole match duration.\n"
                                    },
                                    "average_position_full_y": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average Y coordinate on the pitch during the whole match duration.\n"
                                    },
                                    "average_position_first_half_x": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average X coordinate on the pitch during the first half.\n"
                                    },
                                    "average_position_first_half_y": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average Y coordinate on the pitch during the first half.\n"
                                    },
                                    "average_position_second_half_x": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average X coordinate on the pitch during the second half.\n"
                                    },
                                    "average_position_second_half_y": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average Y coordinate on the pitch during the second half.\n"
                                    },
                                    "average_position_extra_time_x": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average X coordinate on the pitch during extra time.\n"
                                    },
                                    "average_position_extra_time_y": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average Y coordinate on the pitch during extra time.\n"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "action_area_statistic": {
                      "type": "object",
                      "properties": {
                        "away": {
                          "type": "number",
                          "format": "float",
                          "minimum": 0,
                          "maximum": 100,
                          "description": "Percentage of action taking place on away side."
                        },
                        "home": {
                          "type": "number",
                          "format": "float",
                          "minimum": 0,
                          "maximum": 100,
                          "description": "Percentage of action taking place on home side."
                        },
                        "middle": {
                          "type": "number",
                          "format": "float",
                          "minimum": 0,
                          "maximum": 100,
                          "description": "Percentage of action taking place in neutral territory."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/matches/{match_id}/top_stats": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Top match statistics",
        "description": "Top statistics for the given match.",
        "parameters": [
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "home": {
                      "type": "object",
                      "description": "Statistics for the home team.",
                      "properties": {
                        "shots": {
                          "type": "array",
                          "description": "Player with the most shots during this match",
                          "items": {
                            "allOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "description": "ID of the player."
                                  },
                                  "lastname": {
                                    "type": "string",
                                    "description": "Lastname of the player."
                                  },
                                  "firstname": {
                                    "type": "string",
                                    "description": "Firstname of the player."
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of the player."
                                  },
                                  "nickname": {
                                    "type": "string",
                                    "description": "Nickname of the player."
                                  },
                                  "position_regular": {
                                    "type": "string",
                                    "description": "Position the player plays regularly.",
                                    "enum": [
                                      "Goalkeeper",
                                      "Defender",
                                      "Midfielder",
                                      "Forward",
                                      "Wing Back",
                                      "Full Back",
                                      "Central Defender",
                                      "Defensive Midfielder",
                                      "Attacking Midfielder",
                                      "Central Midfielder",
                                      "Winger",
                                      "Striker",
                                      "Second Striker",
                                      "Left",
                                      "Right",
                                      "Centre",
                                      "Left/Centre",
                                      "Centre/Right",
                                      "Left/Centre/Right",
                                      "Left/Right"
                                    ]
                                  },
                                  "position_match": {
                                    "type": "string",
                                    "description": "Position the player plays in this match.",
                                    "enum": [
                                      "goalie",
                                      "defenseman",
                                      "mid-fielder",
                                      "forward",
                                      "wing-back",
                                      "full-back",
                                      "central-defenseman",
                                      "defensing-mid-fielder",
                                      "attacking-mid-fielder",
                                      "central-mid-fielder",
                                      "winger",
                                      "striker",
                                      "second-striker",
                                      "left",
                                      "right",
                                      "center",
                                      "left-center",
                                      "center-right",
                                      "left-center-right",
                                      "left-right"
                                    ]
                                  },
                                  "formation_position": {
                                    "type": "integer",
                                    "description": "Position in the [formation](../formations.html) of the player."
                                  },
                                  "uniform_number": {
                                    "type": "integer",
                                    "description": "Number on uniform of the player."
                                  },
                                  "status": {
                                    "type": "string",
                                    "description": "| value      | description                |\n|:-----------|:---------------------------|\n| starter    | playing from the beginning |\n| substitute | on the bench               |\n",
                                    "enum": [
                                      "starter",
                                      "substitute"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "stats": {
                                    "type": "object",
                                    "properties": {
                                      "fouls": {
                                        "type": "integer",
                                        "description": "Number of fouls commited by the player.",
                                        "example": 3
                                      },
                                      "touches": {
                                        "type": "integer",
                                        "description": "Number ob times the player touched the ball.",
                                        "example": 41
                                      },
                                      "shots": {
                                        "type": "integer",
                                        "description": "Number of shots done by the player.",
                                        "example": 4
                                      },
                                      "duels": {
                                        "type": "integer",
                                        "description": "Duels by the player, in dfl tournaments, this statistics includes fifty_fifty and put_throught statistics.",
                                        "example": 21
                                      },
                                      "duels_won": {
                                        "type": "integer",
                                        "description": "Duels won by the player, in dfl tournaments, this statistics includes fifty_fifty and put_throught statistics.",
                                        "example": 11
                                      },
                                      "duels_won_in_percentage": {
                                        "type": "number",
                                        "description": "Duels won in percentage by the player, in dfl tournaments, this statistics includes fifty_fifty and put_throught statistics.",
                                        "example": 52.38
                                      },
                                      "accurate_passes_in_percentage": {
                                        "type": "number",
                                        "description": "Accurate passes by the player in percentage.",
                                        "example": 59.09
                                      },
                                      "goals": {
                                        "type": "integer",
                                        "description": "Number of goals scored by the player.",
                                        "example": 0
                                      },
                                      "assists_for_shots_on_goal": {
                                        "type": "integer",
                                        "description": "Number of assists, by the player, for shots on goal by other player.",
                                        "example": 12
                                      },
                                      "assists_for_goals": {
                                        "type": "integer",
                                        "description": "Number of goal assists by the player.",
                                        "example": 2
                                      },
                                      "offsides": {
                                        "type": "integer",
                                        "description": "Number of offsides caused by the player.",
                                        "example": 1
                                      },
                                      "passes": {
                                        "type": "integer",
                                        "description": "Number of passes done by the player.",
                                        "example": 21
                                      }
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "away": {
                      "type": "object",
                      "description": "Statisticts for the away team.\n\n**NOT IMPLEMENTED**\nThis field will **always** be an empty object\n"
                    },
                    "overall": {
                      "description": "Statisticts for the whole match.\n\n**NOT IMPLEMENTED**\nThis field will **always** be an empty object\n",
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/matches/{match_id}/match_events": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Events",
        "deprecated": true,
        "description": "> This call is **deprecated**. You **SHOULD NOT** use this endpoint.\n",
        "parameters": [
          {
            "name": "match_id",
            "type": "integer",
            "in": "path",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "x-extendedDiscriminator": "event_type",
              "discriminator": "event_type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the event."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                },
                "match_id": {
                  "type": "integer",
                  "description": "ID of match the event belongs to."
                },
                "season_id": {
                  "type": "integer",
                  "description": "ID of season the event belongs to."
                },
                "tournament_id": {
                  "type": "integer",
                  "description": "ID of tournament the event belongs to."
                },
                "time": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Time in which the event happened."
                },
                "event_type": {
                  "type": "string",
                  "description": "Type of the event."
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/clubs/{club_id}/epg": {
      "get": {
        "tags": [
          "EPG"
        ],
        "summary": "Electronic Program Guide",
        "description": "Location-specific broadcast information for matches of 1st and 2nd\nBundesliga.\n\nThe response varies depending on the `location` query parameter.\nIt denotes an ISO 3166-1 two-letter country code specifying the\nrequesting device's geographical position, e.g. `DE`, `GB`, `NL`,\netc. When the `location` query parameter is absent, its value defaults\nto the club's home country.\n\nResponds with the most recently updated 30 broadcasts for the club's\nmatches available in the location.\n",
        "parameters": [
          {
            "name": "club_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the club."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "in": "query",
            "name": "location",
            "type": "string",
            "description": "ISO 3166-1 two-letter country code specifying the requesting\ndevice's geographical position. When absent, defaults to the\nclub's home country.\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "Array of broadcasts.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "match_id": {
                        "type": "integer",
                        "description": "ID of the covered match."
                      },
                      "light_logo_url": {
                        "type": "string",
                        "description": "URL of the broadcaster's light logo."
                      },
                      "light_logo_category": {
                        "type": "string",
                        "description": "Type of the broadcaster's light logo.",
                        "enum": [
                          "unknown",
                          "compact",
                          "regular",
                          "wide"
                        ]
                      },
                      "dark_logo_url": {
                        "type": "string",
                        "description": "URL of the broadcaster's dark logo."
                      },
                      "dark_logo_category": {
                        "type": "string",
                        "description": "Type of the broadcaster's dark logo.",
                        "enum": [
                          "unknown",
                          "compact",
                          "regular",
                          "wide"
                        ]
                      },
                      "broadcaster_name": {
                        "type": "string",
                        "description": "Name of the broadcaster."
                      },
                      "local_start_date_time": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Local start time of the broadcast."
                      },
                      "link_rel": {
                        "type": "string",
                        "description": "Type of link to the broadcast.",
                        "enum": [
                          "facebook",
                          "twitter",
                          "homepage",
                          "whatsapp",
                          "google_plus",
                          "generic_link"
                        ]
                      },
                      "link_href": {
                        "type": "string",
                        "description": "Link to the broadcast."
                      },
                      "country": {
                        "type": "string",
                        "description": "ISO 3166-1 two-letter country code specifying the location of the\nbroadcast.\n"
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/notifications/devices": {
      "post": {
        "tags": [
          "Push Notification"
        ],
        "summary": "Device",
        "description": "Register a device to receive push notifications.\nThis call should also be used to update tags the device receives push notifications for.\nA complete list of all tags must always be provided. The device will be unsubscribed\nfrom all tags that are not included in the tag list.\n\n__The `Push-Backend: FCM` request header MUST be set for this request to succeed!__\n\nRegistration and \"matchday\":\nWhen sending tags including one of the tags \"matchday_on_the_way\", \"matchday_stadium\" or \"matchday_home\"\nthe device will be registered only to one of tthem and the other tags like \"news\" will be skipped for registration\nbut stored in the backend.\nAfter the matchday has ended the device will be unregistered from \"matchday_on_the_way\", \"matchday_stadium\" or \"matchday_home\"\nand registered to the other tags.\nThis means that devices will not receive pushes for \"news\" during a matchday if they are registered to a matchday tag.\n",
        "parameters": [
          {
            "name": "device",
            "in": "body",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "id",
                    "type"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Device token push notifications will be sent to.",
                      "example": "APA91bHKFbbK7omJ02Mfo7oDn_nMXp5FYcp5uspy-Kggeuh84jyAgiHq7vpG25sMIqc4lLoCHli0KySStRWHLFDdt-wb8FlaO2cOYPAKlBbvSOcqhdZX1Bovh2Oh3oW_FEDxDYQpVA3a"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "gcm",
                        "apns",
                        "wns"
                      ],
                      "description": "Supported push providers types:\n* Google Cloud Messaging (`gcm`)\n* Apple Push Notification Service (`apns`)\n* Windows Push Notification Services (`wns`)\n"
                    },
                    "tags": {
                      "type": "array",
                      "description": "Tags the device receives push notifications for.",
                      "example": [
                        "hsv_match_goals",
                        "hsv_match_highlights"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    }
                  }
                },
                {
                  "properties": {
                    "tags": {
                      "type": "array",
                      "description": "Tags the device receives push notifications for.\nPassing `[]` or `null` will reset the tags.\n",
                      "example": [
                        "hsv_match_goals",
                        "hsv_match_highlights"
                      ],
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "required": [
                "id",
                "type"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Device token push notifications will be sent to.",
                  "example": "APA91bHKFbbK7omJ02Mfo7oDn_nMXp5FYcp5uspy-Kggeuh84jyAgiHq7vpG25sMIqc4lLoCHli0KySStRWHLFDdt-wb8FlaO2cOYPAKlBbvSOcqhdZX1Bovh2Oh3oW_FEDxDYQpVA3a"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "gcm",
                    "apns",
                    "wns"
                  ],
                  "description": "Supported push providers types:\n* Google Cloud Messaging (`gcm`)\n* Apple Push Notification Service (`apns`)\n* Windows Push Notification Services (`wns`)\n"
                },
                "tags": {
                  "type": "array",
                  "description": "Tags the device receives push notifications for.",
                  "example": [
                    "hsv_match_goals",
                    "hsv_match_highlights"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "locale": {
                  "type": "string",
                  "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                  "example": "de-DE",
                  "pattern": "[a-z]{2}-[A-Z]{2}"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "description": "Human readable error description",
                  "example": "Unsupported provider type"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "description": "Human readable error description",
                  "example": "invalid token"
                }
              }
            }
          }
        }
      }
    },
    "/time": {
      "get": {
        "summary": "Server time",
        "description": "Returns the current server time.",
        "tags": [
          "Other"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "rfc3339": {
                      "type": "string",
                      "description": "Current server time in rfc3339 format.",
                      "example": "2017-06-06T14:17:01+02:00"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          }
        }
      }
    },
    "/tournaments": {
      "get": {
        "tags": [
          "Tournament"
        ],
        "summary": "Tournaments",
        "description": "Returns the list of tournaments.",
        "parameters": [
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of tournaments.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of tournament.",
                        "example": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of tournament.",
                        "example": "Bundesliga"
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of tournament.",
                        "example": "BUNDESLIGA"
                      },
                      "number_of_rounds": {
                        "type": "integer",
                        "description": "Number of rounds in this tournament.\nIs `null` when the tournaments has no rounds.\n",
                        "example": 34
                      },
                      "seasons_link": {
                        "type": "string",
                        "description": "API URL to seasons endpoint of this tournament"
                      },
                      "logo": {
                        "type": "object",
                        "description": "URL to logo in different resultions.",
                        "properties": {
                          "medium": {
                            "type": "string",
                            "description": "URL to logo in medium resolution (300x300)."
                          },
                          "mini": {
                            "type": "string",
                            "description": "URL to logo in mini resolution (30x30)."
                          },
                          "icon_mini": {
                            "type": "string",
                            "description": "URL to logo in icon resolution (24x24)."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Seasons",
        "description": "Returns the list seasons for a tournament.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "The response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n|Filter Items|Set locale|\n|:-----------|:-----------|\n|❌|✅|\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of seasons.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the season.",
                        "example": 1573213
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the season.",
                        "example": "2016/2017"
                      },
                      "tournament_id": {
                        "type": "integer",
                        "description": "ID of tournament where season belongs to.",
                        "example": 3
                      },
                      "number_of_rounds": {
                        "type": "integer",
                        "description": "Number of rounds in this season.",
                        "example": 7
                      },
                      "season_teams_link": {
                        "type": "string",
                        "description": "API URL to teams endpoint fot this season"
                      },
                      "season_standing_link": {
                        "type": "string",
                        "description": "API URL to standing endpoint fot this season"
                      },
                      "season_schedule_link": {
                        "type": "string",
                        "description": "API URL to schedule endpoint fot this season"
                      },
                      "season_goalgetter_link": {
                        "type": "string",
                        "description": "API URL to goalgetter endpoint fot this season"
                      },
                      "season_scorer_link": {
                        "type": "string",
                        "description": "API URL to scorer endpoint fot this season"
                      },
                      "season_fairness_link": {
                        "type": "string",
                        "description": "API URL to fairness endpoint fot this season"
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/matches/{match_id}/match_events": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Events",
        "deprecated": true,
        "description": "> This call is **deprecated**. You **SHOULD NOT** use this endpoint.\n",
        "parameters": [
          {
            "name": "tournament_id",
            "type": "integer",
            "in": "path",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "type": "integer",
            "in": "path",
            "required": true,
            "description": "ID of the season."
          },
          {
            "name": "match_id",
            "type": "integer",
            "in": "path",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "x-extendedDiscriminator": "event_type",
              "discriminator": "event_type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the event."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                },
                "match_id": {
                  "type": "integer",
                  "description": "ID of match the event belongs to."
                },
                "season_id": {
                  "type": "integer",
                  "description": "ID of season the event belongs to."
                },
                "tournament_id": {
                  "type": "integer",
                  "description": "ID of tournament the event belongs to."
                },
                "time": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Time in which the event happened."
                },
                "event_type": {
                  "type": "string",
                  "description": "Type of the event."
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/matches/{match_id}/match_facts": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Facts",
        "deprecated": true,
        "description": "> This call is **deprecated**. You **SHOULD NOT** use this endpoint.\n",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "match_id": {
                      "type": "integer",
                      "description": "ID of the match."
                    },
                    "season_id": {
                      "type": "integer",
                      "description": "ID of the season."
                    },
                    "season_name": {
                      "type": "string",
                      "description": "ID of the name."
                    },
                    "tournament_id": {
                      "type": "integer",
                      "description": "ID of the tournament."
                    },
                    "tournament_name": {
                      "type": "string",
                      "description": "Name of the tournament."
                    },
                    "tournament_handle": {
                      "type": "string",
                      "description": "Handle of the tournament."
                    },
                    "division_id": {
                      "type": "integer",
                      "description": "ID of the division the match belongs to."
                    },
                    "division_name": {
                      "type": "string",
                      "description": "Name of the division the match belongs to."
                    },
                    "round_id": {
                      "type": "integer",
                      "description": "ID of the round the match belongs to."
                    },
                    "round_name": {
                      "type": "string",
                      "description": "Name of the round the match belongs to."
                    },
                    "start_date_time": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Time and date the match starts."
                    },
                    "live": {
                      "type": "boolean",
                      "description": "True when the match is currently running."
                    },
                    "in_break": {
                      "type": "boolean",
                      "description": "True when the match is currently in halftime break."
                    },
                    "period": {
                      "type": "integer",
                      "enum": [
                        2,
                        4
                      ],
                      "description": "| value | description           |\n|:------|:----------------------|\n| 2     | match has 90 minutes  |\n| 4     | match has 120 minutes |\n"
                    },
                    "period_in_words": {
                      "type": "string",
                      "description": "The information about the period.\n\n**NOTE**: the info will always be in the locale which is provide\n| value       | description                |\n|:------------|:---------------------------|\n| 1. HZ       | First half of match        |\n| 2. HZ       | Second half of match       |\n| Elfmeter.   | Match is in shootout       |\n| Ende        | Match has ended            |\n| Pause       | Match is in regular break  |\n| Verl. 1. HZ | First half of overtime     |\n| Verl. 2. HZ | Second half of overtime    |\n| Vor Anpfiff | Match has not been started |\n",
                      "enum": [
                        "1. HZ",
                        "2. HZ",
                        "Elfmeter.",
                        "Ende",
                        "Pause",
                        "Verl. 1. HZ",
                        "Verl. 2. HZ",
                        "Vor Anpfiff"
                      ]
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 120,
                      "description": "Total minutes elapsed."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 45,
                      "description": "Minutes elapsed for the current period."
                    },
                    "has_overtime": {
                      "type": "boolean",
                      "description": "True if the match has the first 15 minutes of overtime."
                    },
                    "has_overtime_2": {
                      "type": "boolean",
                      "description": "True if the match has the second 15 minutes of overtime."
                    },
                    "has_penalty_shootout": {
                      "type": "boolean",
                      "description": "True if the match is decided by penalty shootout."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Extratime elapsed in the current period in minutes."
                    },
                    "attendees": {
                      "type": "integer",
                      "description": "Total numer of attendees of the current match."
                    },
                    "event_status": {
                      "type": "string",
                      "description": "State of the current match."
                    },
                    "video_id": {
                      "type": "integer",
                      "description": "This match's associated video ID, if existent. __Note:__ This field will only be populated if the request included the `club_id` query parameter."
                    },
                    "match_name": {
                      "type": "string",
                      "description": "optional name of the match."
                    },
                    "cards": {
                      "type": "array",
                      "description": "List of all cards of the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the card."
                          },
                          "recipient_id": {
                            "type": "integer",
                            "description": "ID of the person who received the card."
                          },
                          "recipient_type": {
                            "type": "string",
                            "description": "Role of the person which receives the card.",
                            "enum": [
                              "player"
                            ]
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment of the card.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time in which the person received the card."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the person received the card."
                          },
                          "reason": {
                            "type": "string",
                            "description": "| value                            | description                                                       |\n|:---------------------------------|:------------------------------------------------------------------|\n| bad sportsmanship                | bad sportsmanship                                                 |\n| dangerous play                   | risking the wellbeing of the opponent                             |\n| delay of game                    | tactical game delay                                               |\n| dissent                          | dissent                                                           |\n| distance to the wall             | insufficient distance to wall during free kick                    |\n| dive                             | baffeled foul                                                     |\n| entering field                   | entering the field without permission                             |\n| fight                            | to resort to fisticuffs                                           |\n| foul                             | foul play                                                         |\n| foul and abusive language        | foul and abusive language                                         |\n| handball                         | tactical handball                                                 |\n| injured player on the field      | injured player on the field                                       |\n| insulting language               | groughing                                                         |\n| jubilance                        | jubilance                                                         |\n| not properly checked in the game | no or invalid permission to play                                  |\n| not visible                      | unknown reason                                                    |\n| off the ball foul                | foul without intention to hit the ball                            |\n| other                            | other breaches of rule                                            |\n| persistent infringement          | continuously violate the rules                                    |\n| professional foul                | tactical foul play                                                |\n| professional foul (handball)     | tactical hand ball                                                |\n| professional foul (last man)     | tactical foul to stop a player as last man on his way to the goal |\n| referee abuse                    | abuse the referee                                                 |\n| roughing                         | assaulting another person                                         |\n| serious foul                     | serious foul                                                      |\n| simulation                       | pretend to be fouled or simmilar                                  |\n| spitting                         | spitting to another player or referee                             |\n| touching(ed) the referee         | touching the referee                                              |\n| unknown                          | unknown reason                                                    |\n| unsporting behaviour             | unsporting behaviour                                              |\n| violent conduct                  | violent conduct                                                   |\n| entering referee review area     | entering referee review area                                      |\n| excessive usage of review signal | excessive usage of review signal                                  |\n| entering video operations room   | entering video operations room                                    |\n",
                            "enum": [
                              "bad sportsmanship",
                              "dangerous play",
                              "delay of game",
                              "dissent",
                              "distance to the wall",
                              "dive",
                              "entering field",
                              "fight",
                              "foul",
                              "foul and abusive language",
                              "handball",
                              "injured player on the field",
                              "insulting language",
                              "jubilance",
                              "not properly checked in the game",
                              "not visible",
                              "off the ball foul",
                              "other",
                              "persistent infringement",
                              "professional foul",
                              "professional foul (handball)",
                              "professional foul (last man)",
                              "referee abuse",
                              "roughing",
                              "serious foul",
                              "simulation",
                              "spitting",
                              "touching(ed) the referee",
                              "unknown",
                              "unsporting behaviour",
                              "violent conduct",
                              "entering referee review area",
                              "excessive usage of review signal",
                              "entering video operations room"
                            ]
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the match in which the person receives the card."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the person receives the card"
                          },
                          "type": {
                            "type": "string",
                            "description": "| value          | description     |\n|:---------------|:----------------|\n| red-card       | red card        |\n| yellow-card    | yellow card     |\n| yellowred-card | yellow red card |\n",
                            "enum": [
                              "red-card",
                              "yellow-card",
                              "yellowred-card"
                            ]
                          },
                          "player_uniform_number": {
                            "type": "integer",
                            "description": "Uniform number of the person who received the card."
                          },
                          "player_position_regular": {
                            "type": "string",
                            "description": "Position the booked person plays regularly."
                          },
                          "player_image_url": {
                            "type": "string",
                            "description": "URL to the portrait image of the official"
                          }
                        }
                      }
                    },
                    "corners": {
                      "type": "array",
                      "description": "List of all corners of the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the corner."
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club which won the corner."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team which won the corner."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time in which the team won the corner."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the team won the corner."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment for the corner.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the match in which the team won the corner."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the team won the corner."
                          }
                        }
                      }
                    },
                    "var_decisions": {
                      "type": "array",
                      "description": "List of all VAR decisions of the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the VAR event."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "event_type": {
                            "type": "string",
                            "description": "VAR decision event"
                          },
                          "season_id": {
                            "type": "integer",
                            "description": "ID of the season"
                          },
                          "tournament_id": {
                            "type": "integer",
                            "description": "ID of the tournament"
                          },
                          "reviewing": {
                            "type": "string",
                            "description": "| value                            | description                                                       |\n|:---------------------------------|:------------------------------------------------------------------|\n| goal                             | review of previously awarded goal                                 |\n| goal_not_awarded                 | review of previously unawarded goal                               |\n| penalty_awarded                  | review of foul for awarded penalty                                |\n| penalty_not_awarded              | review of foul for unawarded penalty                              |\n| card_upgrade                     | review of foul to upgrade yellow card                             |\n| mistaken_identity                | review of mistakingly cautioning the wrong player                 |\n| referee_decision_confirmed       | decision accepted                                                 |\n| referee_decision_cancelled       | decision overturned                                               |\n| red_card_given                   | review of foul for sending off a player                           |\n| review                           | review                                                            |\n",
                            "enum": [
                              "goal",
                              "goal_not_awarded",
                              "penalty_awarded",
                              "penalty_not_awarded",
                              "card_upgrade",
                              "mistaken_identity",
                              "referee_decision_confirmed",
                              "referee_decision_cancelled",
                              "red_card_given",
                              "review"
                            ]
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment for the review.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time when the event happened."
                          },
                          "period": {
                            "type": "integer",
                            "description": "The half in which the event happened."
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Extratime elapsed in the current period in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 120,
                            "description": "Total minutes elapsed."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the team won the corner."
                          }
                        }
                      }
                    },
                    "site": {
                      "type": "object",
                      "description": "Location of the match.",
                      "properties": {
                        "built": {
                          "type": "integer",
                          "description": "Year when the venue was built."
                        },
                        "city": {
                          "type": "string",
                          "description": "City where the match takes place."
                        },
                        "id": {
                          "type": "integer",
                          "description": "ID of the location where the match takes place."
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the location where the match takes place."
                        },
                        "pitch": {
                          "type": "object",
                          "description": "Size of the pitch.",
                          "properties": {
                            "x": {
                              "type": "integer",
                              "description": "Length of the pitch."
                            },
                            "y": {
                              "type": "integer",
                              "description": "Width of the pitch."
                            }
                          }
                        },
                        "postal_code": {
                          "type": "string",
                          "description": "Postal code of the location where the match takes place."
                        },
                        "roof": {
                          "type": "boolean",
                          "description": "True\twhen the stadium has a roof."
                        },
                        "seats": {
                          "type": "integer",
                          "description": "Bumber of seats/capacity of the venue."
                        },
                        "street": {
                          "type": "string",
                          "description": "Street address of the location where the match takes place."
                        },
                        "surface": {
                          "type": "string",
                          "description": "Surface of the stadium.",
                          "enum": [
                            "artificial_turf",
                            "turf"
                          ]
                        },
                        "url": {
                          "type": "string",
                          "description": "Website of the venue."
                        }
                      }
                    },
                    "substitutions": {
                      "type": "array",
                      "description": "List of all substitutions of the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "period": {
                            "type": "integer",
                            "description": "Period in which the substitution takes place."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Period in which the substitution takes place."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the substitution place."
                          },
                          "replacing_player_id": {
                            "type": "integer",
                            "description": "ID of the player which will replace."
                          },
                          "replacing_player_firstname": {
                            "type": "string",
                            "description": "Firstname of the player which will replace."
                          },
                          "replacing_player_lastname": {
                            "type": "string",
                            "description": "Lastname of the player which will replace."
                          },
                          "replacing_player_nickname": {
                            "type": "string",
                            "description": "Nickname of the player which will replace."
                          },
                          "original_player_id": {
                            "type": "integer",
                            "description": "ID of the original/leaving player."
                          },
                          "original_player_firstname": {
                            "type": "string",
                            "description": "Firstname of the original/leaving player."
                          },
                          "original_player_lastname": {
                            "type": "string",
                            "description": "Lastname of the original/leaving player."
                          },
                          "original_player_nickname": {
                            "type": "string",
                            "description": "Nickname of the original/leaving player."
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team which substitude players."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment of the substitution.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time in which the substitution takes place."
                          }
                        }
                      }
                    },
                    "teams": {
                      "type": "array",
                      "description": "List of all teams in the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the team.",
                            "example": 1401830
                          },
                          "alignment": {
                            "type": "string",
                            "description": "Alignment of the team.",
                            "enum": [
                              "away",
                              "home"
                            ]
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the team.",
                            "example": "SV Eintracht Trier 05"
                          },
                          "nickname": {
                            "type": "string",
                            "description": "Nickname of the team."
                          },
                          "lineup_complete": {
                            "type": "string",
                            "description": "True when lineup is completed."
                          },
                          "formation": {
                            "type": "integer",
                            "description": "Formation the team used in this match.\n\nMore infos:\n- [31213](../formations.html#31213)\n- [31312](../formations.html#31312)\n- [3142](../formations.html#3142)\n- [3412](../formations.html#3412)\n- [3421](../formations.html#3421)\n- [343](../formations.html#343)\n- [3511](../formations.html#3511)\n- [352](../formations.html#352)\n- [41212](../formations.html#41212)\n- [4132](../formations.html#4132)\n- [4141](../formations.html#4141)\n- [4222](../formations.html#4222)\n- [4231](../formations.html#4231)\n- [4240](../formations.html#4240)\n- [4312](../formations.html#4312)\n- [4321](../formations.html#4321)\n- [433](../formations.html#433)\n- [4411](../formations.html#4411)\n- [442](../formations.html#442)\n- [451](../formations.html#451)\n- [532](../formations.html#532)\n- [541](../formations.html#541)\n",
                            "enum": [
                              31213,
                              31312,
                              3142,
                              3412,
                              3421,
                              343,
                              3511,
                              352,
                              41212,
                              4132,
                              4141,
                              4222,
                              4231,
                              4240,
                              4312,
                              4321,
                              433,
                              4411,
                              442,
                              451,
                              532,
                              541
                            ]
                          },
                          "score": {
                            "allOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "final": {
                                    "description": "Final score of the match.",
                                    "type": "integer"
                                  },
                                  "period_1": {
                                    "description": "Score in the first period.",
                                    "type": "integer"
                                  },
                                  "period_2": {
                                    "description": "Score in the second period.",
                                    "type": "integer"
                                  },
                                  "period_3": {
                                    "description": "Score in the first period of overtime.",
                                    "type": "integer"
                                  },
                                  "period_4": {
                                    "description": "Score in the second period of overtime.",
                                    "type": "integer"
                                  },
                                  "period_5": {
                                    "description": "Score in the penalty shootout.",
                                    "type": "integer"
                                  }
                                }
                              },
                              {
                                "description": "Score of this team in this match."
                              }
                            ]
                          },
                          "club": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "ID of the club."
                              },
                              "link": {
                                "type": "string",
                                "description": "API URL to the club."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "medium": {
                                    "type": "string",
                                    "description": "URL to the image in medium resolution (300x300>)."
                                  },
                                  "mini": {
                                    "type": "string",
                                    "description": "URL to the image in mini resolution (36x36>)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL to the image in mini resolution (70x70>)."
                                  }
                                }
                              }
                            }
                          },
                          "officials": {
                            "type": "array",
                            "description": "List of all officals of the team.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "birthplace": {
                                  "type": "string",
                                  "description": "City where the official was born."
                                },
                                "date_of_birth": {
                                  "type": "string",
                                  "format": "date",
                                  "description": "Date of birth of the official.",
                                  "example": "1986-05-31"
                                },
                                "firstname": {
                                  "type": "string",
                                  "description": "First name of the official."
                                },
                                "join_date": {
                                  "type": "string",
                                  "description": "Date when the official joined the team."
                                },
                                "lastname": {
                                  "type": "string",
                                  "description": "Last name of the official."
                                },
                                "nationality": {
                                  "type": "string",
                                  "description": "Nationality of the official.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                                },
                                "position": {
                                  "type": "string",
                                  "description": "Position of the official in the team."
                                }
                              }
                            }
                          },
                          "players": {
                            "type": "array",
                            "description": "List of players who has involved in this game.",
                            "items": {
                              "allOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "description": "ID of the player."
                                    },
                                    "lastname": {
                                      "type": "string",
                                      "description": "Lastname of the player."
                                    },
                                    "firstname": {
                                      "type": "string",
                                      "description": "Firstname of the player."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "Name of the player."
                                    },
                                    "nickname": {
                                      "type": "string",
                                      "description": "Nickname of the player."
                                    },
                                    "position_regular": {
                                      "type": "string",
                                      "description": "Position the player plays regularly.",
                                      "enum": [
                                        "Goalkeeper",
                                        "Defender",
                                        "Midfielder",
                                        "Forward",
                                        "Wing Back",
                                        "Full Back",
                                        "Central Defender",
                                        "Defensive Midfielder",
                                        "Attacking Midfielder",
                                        "Central Midfielder",
                                        "Winger",
                                        "Striker",
                                        "Second Striker",
                                        "Left",
                                        "Right",
                                        "Centre",
                                        "Left/Centre",
                                        "Centre/Right",
                                        "Left/Centre/Right",
                                        "Left/Right"
                                      ]
                                    },
                                    "position_match": {
                                      "type": "string",
                                      "description": "Position the player plays in this match.",
                                      "enum": [
                                        "goalie",
                                        "defenseman",
                                        "mid-fielder",
                                        "forward",
                                        "wing-back",
                                        "full-back",
                                        "central-defenseman",
                                        "defensing-mid-fielder",
                                        "attacking-mid-fielder",
                                        "central-mid-fielder",
                                        "winger",
                                        "striker",
                                        "second-striker",
                                        "left",
                                        "right",
                                        "center",
                                        "left-center",
                                        "center-right",
                                        "left-center-right",
                                        "left-right"
                                      ]
                                    },
                                    "formation_position": {
                                      "type": "integer",
                                      "description": "Position in the [formation](../formations.html) of the player."
                                    },
                                    "uniform_number": {
                                      "type": "integer",
                                      "description": "Number on uniform of the player."
                                    },
                                    "status": {
                                      "type": "string",
                                      "description": "| value      | description                |\n|:-----------|:---------------------------|\n| starter    | playing from the beginning |\n| substitute | on the bench               |\n",
                                      "enum": [
                                        "starter",
                                        "substitute"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "portrait_image_url": {
                                      "type": "string",
                                      "description": "URL of player's portrait image."
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      }
                    },
                    "goals": {
                      "type": "array",
                      "description": "List of all goals in the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "player_id": {
                            "type": "integer",
                            "description": "ID of the player who has scored the goal."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the goal is scored."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time of the goal."
                          },
                          "type": {
                            "type": "string",
                            "description": "| value    | description                                  |\n|:---------|:---------------------------------------------|\n| regular  | a regular goal (counts in player statistics) |\n| own-goal | an own goal                                  |\n| penalty  | caused by a pentaly kick                     |\n",
                            "enum": [
                              "regular",
                              "own-goal",
                              "penalty"
                            ]
                          },
                          "outcome": {
                            "type": "string",
                            "description": "| value  | description   |\n|:-------|:--------------|\n| scored | a scored goal |\n| missed | a missed goal |\n| saved  | a saved goal  |\n",
                            "enum": [
                              "scored",
                              "missed",
                              "saved"
                            ]
                          },
                          "club_id": {
                            "type": "integer",
                            "description": "ID of the club the team belongs to."
                          },
                          "team_id": {
                            "type": "integer",
                            "description": "ID of the team which has scored the goal."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "assisting_player_id": {
                            "type": "integer",
                            "description": "ID of the player who gave the assist to the goal."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment to the goal.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the match in which the goal ist scored."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minute of the period in which the goal ist score."
                          }
                        }
                      }
                    },
                    "timetable_actions": {
                      "type": "array",
                      "description": "List of all timetable actions in the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the timetable action."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Period in which the timetable action takes place."
                          },
                          "time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Date and time of the timetable action."
                          },
                          "match_id": {
                            "type": "integer",
                            "description": "ID of the match."
                          },
                          "comment": {
                            "type": "string",
                            "description": "Comment to the timetable action.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                          },
                          "type": {
                            "type": "string",
                            "description": "Type of the timetable action."
                          },
                          "period_minutes_elapsed": {
                            "type": "integer",
                            "description": "Minutes elapsed in this period."
                          },
                          "minutes_elapsed": {
                            "type": "integer",
                            "description": "Total minutes elapsed."
                          },
                          "injury_time_elapsed": {
                            "type": "integer",
                            "description": "Elapsed injury time in minutes."
                          },
                          "regular_period_duration": {
                            "type": "integer",
                            "description": "The regular duration of the period in minutes, without any injury time."
                          }
                        }
                      }
                    },
                    "officials": {
                      "type": "array",
                      "description": "List of all officials in the current match.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "position": {
                            "type": "string",
                            "description": "Position of the official in the team."
                          },
                          "firstname": {
                            "type": "string",
                            "description": "First name of official."
                          },
                          "lastname": {
                            "type": "string",
                            "description": "Last name of official."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/matches/{match_id}/team_stats": {
      "get": {
        "tags": [
          "Match"
        ],
        "summary": "Team Statistics",
        "deprecated": true,
        "description": "> This call is **deprecated**. You **SHOULD NOT** use this endpoint.\n",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "match_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the match."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "tournament_id": {
                      "type": "integer",
                      "description": "ID of the tournament the match belongs."
                    },
                    "season_id": {
                      "type": "integer",
                      "description": "ID of the season the match belongs."
                    },
                    "match_id": {
                      "type": "integer",
                      "description": "ID of the match."
                    },
                    "teams": {
                      "type": "array",
                      "description": "List of teams with details.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the team.",
                            "example": 1401830
                          },
                          "alignment": {
                            "type": "string",
                            "description": "Alignment of the team.",
                            "enum": [
                              "away",
                              "home"
                            ]
                          },
                          "average_age": {
                            "type": "integer",
                            "description": "Average Age of this team.\n"
                          },
                          "formation": {
                            "type": "integer",
                            "description": "Formation the team used in this match.\n\nMore infos:\n- [31213](../formations.html#31213)\n- [31312](../formations.html#31312)\n- [3142](../formations.html#3142)\n- [3412](../formations.html#3412)\n- [3421](../formations.html#3421)\n- [343](../formations.html#343)\n- [3511](../formations.html#3511)\n- [352](../formations.html#352)\n- [41212](../formations.html#41212)\n- [4132](../formations.html#4132)\n- [4141](../formations.html#4141)\n- [4222](../formations.html#4222)\n- [4231](../formations.html#4231)\n- [4240](../formations.html#4240)\n- [4312](../formations.html#4312)\n- [4321](../formations.html#4321)\n- [433](../formations.html#433)\n- [4411](../formations.html#4411)\n- [442](../formations.html#442)\n- [451](../formations.html#451)\n- [532](../formations.html#532)\n- [541](../formations.html#541)\n",
                            "enum": [
                              31213,
                              31312,
                              3142,
                              3412,
                              3421,
                              343,
                              3511,
                              352,
                              41212,
                              4132,
                              4141,
                              4222,
                              4231,
                              4240,
                              4312,
                              4321,
                              433,
                              4411,
                              442,
                              451,
                              532,
                              541
                            ]
                          },
                          "stats": {
                            "type": "object",
                            "properties": {
                              "score": {
                                "type": "integer",
                                "description": "Number of goals scored by this team in the match.\n"
                              },
                              "general": {
                                "type": "object",
                                "description": "General statistic data of this team in this match.",
                                "properties": {
                                  "duels": {
                                    "type": "integer",
                                    "description": "Total number of duels of this team in this match.\n"
                                  },
                                  "duels_won": {
                                    "type": "integer",
                                    "description": "Won duels of this team in this match.\n"
                                  },
                                  "duels_lost": {
                                    "type": "integer",
                                    "description": "Lost duels of this team in this match.\n"
                                  },
                                  "fifty_fifty": {
                                    "type": "integer",
                                    "description": "Fifty fifty duels of this team in this match.\n"
                                  },
                                  "successful_fifty_fifty": {
                                    "type": "integer",
                                    "description": "Won fifty fifty of this team in this match.\n"
                                  },
                                  "put_throught": {
                                    "type": "integer",
                                    "description": "Put throughts of this team in this match.\n"
                                  },
                                  "successful_put_throught": {
                                    "type": "integer",
                                    "description": "Succesful put throughts of this team in this match.\n"
                                  },
                                  "duels_won_in_percentage": {
                                    "type": "number",
                                    "format": "float",
                                    "description": "Duels won in percentage, in dfl tournaments, this statistics includes `fifty_fifty` and `put_throught` statistics.\n"
                                  },
                                  "balls_touched": {
                                    "type": "integer",
                                    "description": "Number of touched balls of this team in this match.\n"
                                  },
                                  "possession": {
                                    "type": "number",
                                    "format": "float",
                                    "minimum": 0,
                                    "maximum": 100,
                                    "description": "Ball possession as a percentage value.\n"
                                  },
                                  "passes": {
                                    "type": "integer",
                                    "description": "Total number of passes.\n"
                                  },
                                  "accurate_passes_in_percentage": {
                                    "type": "number",
                                    "format": "float",
                                    "minimum": 0,
                                    "maximum": 100,
                                    "description": "Accurate passes of th team in percentage.\n"
                                  },
                                  "accurate_passes_back_zone_in_percentage": {
                                    "type": "number",
                                    "format": "float",
                                    "minimum": 0,
                                    "maximum": 100,
                                    "description": "Accurate passes of the team in percentage in the own half of the pitch.\n"
                                  },
                                  "accurate_passes_fwd_zone_in_percentage": {
                                    "type": "number",
                                    "format": "float",
                                    "minimum": 0,
                                    "maximum": 100,
                                    "description": "Accurate passes of the team in percentage in the opponents half of the pitch.\n"
                                  }
                                }
                              },
                              "offensive": {
                                "type": "object",
                                "description": "Statistics for offense of this team in this match.",
                                "properties": {
                                  "shots": {
                                    "type": "integer",
                                    "description": "Number of total shots from this team.\n"
                                  },
                                  "penalty_shots": {
                                    "type": "integer",
                                    "description": "Number of penalty shots from this team.\n"
                                  },
                                  "shots_on_goal": {
                                    "type": "integer",
                                    "description": "Number of shots on goal from this team\n"
                                  },
                                  "clear_cut_chance_shots": {
                                    "type": "integer",
                                    "description": "Number of shots from clear cut chances from this team.\n"
                                  },
                                  "freekicks": {
                                    "type": "integer",
                                    "description": "Total number of attacking freekicks from this team.\n"
                                  },
                                  "offside": {
                                    "type": "integer",
                                    "description": "Number of offside situations of this team in the game.\n"
                                  },
                                  "corner_kicks": {
                                    "type": "integer",
                                    "description": "Number of corner kicks of this team in the game.\n"
                                  },
                                  "corner_kicks_left": {
                                    "type": "integer",
                                    "description": "Number of corner kicks of this team from the left side of the goal.\n"
                                  },
                                  "corner_kicks_right": {
                                    "type": "integer",
                                    "description": "Number of corner kicks of this team from the right side of the goal.\n"
                                  },
                                  "shots_outside_box": {
                                    "type": "integer",
                                    "description": "Number of shots from outside the penalty area of this team in the game.\n"
                                  },
                                  "shots_inside_box": {
                                    "type": "integer",
                                    "description": "Number of shots from inside the penalty area of this team in the game.\n"
                                  },
                                  "shots_foot_outside_box": {
                                    "type": "integer",
                                    "description": "Number of shots with foot from outside the penalty area of this team in the game.\n"
                                  },
                                  "shots_foot_inside_box": {
                                    "type": "integer",
                                    "description": "Number of shots with foot from inside the penalty area of this team in the game.\n"
                                  },
                                  "shots_header": {
                                    "type": "integer",
                                    "description": "Headers of team in the game.\n"
                                  },
                                  "crosses": {
                                    "type": "integer",
                                    "description": "Number of flanks.\n"
                                  },
                                  "crosses_left": {
                                    "type": "integer",
                                    "description": "Number of flanks from the left side.\n"
                                  },
                                  "crosses_right": {
                                    "type": "integer",
                                    "description": "Number of flanks from the right side.\n"
                                  },
                                  "woodwork_hits": {
                                    "type": "integer",
                                    "description": "Total number of occasions the ball hits the woodwork in any situation.\n"
                                  },
                                  "attacking_percentage_first_half": {
                                    "type": "object",
                                    "description": "Attacking percentages on each side of the field for the first half",
                                    "properties": {
                                      "left": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the left side of the pitch.\n"
                                      },
                                      "right": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the right side of the pitch.\n"
                                      },
                                      "middle": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out through the center of the pitch.\n"
                                      }
                                    }
                                  },
                                  "attacking_percentage_second_half": {
                                    "type": "object",
                                    "description": "Attacking percentages on each side of the field for the second half",
                                    "properties": {
                                      "left": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the left side of the pitch.\n"
                                      },
                                      "right": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the right side of the pitch.\n"
                                      },
                                      "middle": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out through the center of the pitch.\n"
                                      }
                                    }
                                  },
                                  "attacking_percentage_extra_time": {
                                    "type": "object",
                                    "description": "Attacking percentages on each side of the field for extra time",
                                    "properties": {
                                      "left": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the left side of the pitch.\n"
                                      },
                                      "right": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the right side of the pitch.\n"
                                      },
                                      "middle": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out through the center of the pitch.\n"
                                      }
                                    }
                                  },
                                  "attacking_percentage_overall": {
                                    "type": "object",
                                    "description": "Attacking percentages on each side of the field for the whole match",
                                    "properties": {
                                      "left": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the left side of the pitch.\n"
                                      },
                                      "right": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out over the right side of the pitch.\n"
                                      },
                                      "middle": {
                                        "type": "number",
                                        "format": "float",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "description": "Percentage of attacks carried out through the center of the pitch.\n"
                                      }
                                    }
                                  }
                                }
                              },
                              "defensive": {
                                "type": "object",
                                "description": "Statistics for defensive of this team in this match.",
                                "properties": {
                                  "saves": {
                                    "type": "integer",
                                    "description": "Saves from the goaltender of this team.\n"
                                  },
                                  "ball_recovery": {
                                    "type": "integer",
                                    "description": "Total number taking possession of a loose ball by a player.\n"
                                  },
                                  "opponent_woodwork_hits": {
                                    "type": "integer",
                                    "description": "Total number of occasions the ball hits the woodwork of the own goal.\n"
                                  }
                                }
                              },
                              "foul": {
                                "type": "object",
                                "description": "Statistics for fouls of this team.",
                                "properties": {
                                  "fouls_suffered": {
                                    "type": "integer",
                                    "description": "Number of fouls suffered by this team.\n"
                                  },
                                  "fouls_committed": {
                                    "type": "integer",
                                    "description": "Number of fouls comitted by this team.\n"
                                  },
                                  "handballs": {
                                    "type": "integer",
                                    "description": "Number of handballs comitted by this team.\n"
                                  },
                                  "yellow_cards": {
                                    "type": "integer",
                                    "description": "Number of yellow cards received by this team.\n"
                                  },
                                  "yellow_red_cards": {
                                    "type": "integer",
                                    "description": "Number of yellow red cards received by this team.\n"
                                  },
                                  "red_cards": {
                                    "type": "integer",
                                    "description": "Number of red cards received by this team.\n"
                                  },
                                  "sent_offs": {
                                    "type": "integer",
                                    "description": "Number of sent offs received by this team.\n"
                                  }
                                }
                              }
                            }
                          },
                          "players": {
                            "type": "array",
                            "description": "List of team players with details.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "description": "ID of the player.\n"
                                },
                                "lastname": {
                                  "type": "string",
                                  "description": "Last name of the player.\n"
                                },
                                "firstname": {
                                  "type": "string",
                                  "description": "First name of the player.\n"
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of the player.\n"
                                },
                                "nickname": {
                                  "type": "string",
                                  "description": "Nickname of the player.\n"
                                },
                                "position_regular": {
                                  "type": "string",
                                  "description": "Regular position of the player."
                                },
                                "position_match": {
                                  "type": "string",
                                  "description": "Position of the player in this match.\n"
                                },
                                "formation_position": {
                                  "type": "integer",
                                  "description": "Position in the formation of the player in this match.\n"
                                },
                                "uniform_number": {
                                  "type": "integer",
                                  "description": "Uniform number of the player.\n"
                                },
                                "status": {
                                  "type": "string",
                                  "description": "| value   | description                |\n|:--------|:---------------------------|\n| starter | playing from the beginning |\n| bench   | on the bench               |\n",
                                  "enum": [
                                    "bench",
                                    "starter"
                                  ]
                                },
                                "stats": {
                                  "type": "object",
                                  "description": "Statistics about this player.",
                                  "properties": {
                                    "fouls": {
                                      "type": "integer",
                                      "description": "Fouls commited by the player.\n"
                                    },
                                    "touches": {
                                      "type": "integer",
                                      "description": "Count of the ball touches by the player.\n"
                                    },
                                    "duels": {
                                      "type": "integer",
                                      "description": "Duels by the player, in dfl tournaments, this statistics includes fifty_fifty and put_throught statistics.\n"
                                    },
                                    "duels_won": {
                                      "type": "integer",
                                      "description": "Duels won by the player, in dfl tournaments, this statistics includes fifty_fifty and put_throught statistics.\n"
                                    },
                                    "duels_won_in_percentage": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Duels won in percentage by the player, in dfl tournaments, this statistics includes fifty_fifty and put_throught statistics.\n"
                                    },
                                    "accurate_passes_in_percentage": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Accurate passes by the player in percentage.\n"
                                    },
                                    "goals": {
                                      "type": "integer",
                                      "description": "Number of goals, scored by the player.\n"
                                    },
                                    "assists_for_shots_on_goal": {
                                      "type": "integer",
                                      "description": "Number of assists, by the player, for shots on goal by other player.\n"
                                    },
                                    "assists_for_goals": {
                                      "type": "integer",
                                      "description": "Number of goal assists by the player.\n"
                                    },
                                    "offsides": {
                                      "type": "integer",
                                      "description": "Number of offsides of the player.\n"
                                    },
                                    "passes": {
                                      "type": "integer",
                                      "description": "Number of passes done by the player.\n"
                                    },
                                    "shots": {
                                      "type": "integer",
                                      "description": "Number of shots done by the player.\n"
                                    },
                                    "average_position_full_x": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average X coordinate on the pitch during the whole match duration.\n"
                                    },
                                    "average_position_full_y": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average Y coordinate on the pitch during the whole match duration.\n"
                                    },
                                    "average_position_first_half_x": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average X coordinate on the pitch during the first half.\n"
                                    },
                                    "average_position_first_half_y": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average Y coordinate on the pitch during the first half.\n"
                                    },
                                    "average_position_second_half_x": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average X coordinate on the pitch during the second half.\n"
                                    },
                                    "average_position_second_half_y": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average Y coordinate on the pitch during the second half.\n"
                                    },
                                    "average_position_extra_time_x": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average X coordinate on the pitch during extra time.\n"
                                    },
                                    "average_position_extra_time_y": {
                                      "type": "number",
                                      "format": "float",
                                      "minimum": 0,
                                      "maximum": 100,
                                      "description": "Average Y coordinate on the pitch during extra time.\n"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "action_area_statistic": {
                      "type": "object",
                      "properties": {
                        "away": {
                          "type": "number",
                          "format": "float",
                          "minimum": 0,
                          "maximum": 100,
                          "description": "Percentage of action taking place on away side."
                        },
                        "home": {
                          "type": "number",
                          "format": "float",
                          "minimum": 0,
                          "maximum": 100,
                          "description": "Percentage of action taking place on home side."
                        },
                        "middle": {
                          "type": "number",
                          "format": "float",
                          "minimum": 0,
                          "maximum": 100,
                          "description": "Percentage of action taking place in neutral territory."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/current_season/fairness": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Fairplay table for current season",
        "description": "Fairplay table for current season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "season_id": {
                      "type": "integer",
                      "description": "ID of the season.",
                      "example": 3422
                    },
                    "teams": {
                      "type": "array",
                      "description": "All teams and its relevant attributes in the fairness ranking.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the Team.",
                            "example": 1203
                          },
                          "name": {
                            "type": "string",
                            "description": "The teams name.",
                            "example": "Bayer 04 Leverkusen"
                          },
                          "nickname": {
                            "type": "string",
                            "description": "The teams nickname.",
                            "example": "Bayer"
                          },
                          "yellow_cards": {
                            "type": "integer",
                            "description": "Number of yellow cards for this team.",
                            "example": 34
                          },
                          "yellow_red_cards": {
                            "type": "integer",
                            "description": "Number of yellow red cards for this team.",
                            "example": 12
                          },
                          "red_cards": {
                            "type": "integer",
                            "description": "Number of red cards for this team.",
                            "example": 3
                          },
                          "points": {
                            "type": "integer",
                            "description": "Commulated fairness point, less points -> better position in the ranking.\n\n**Formular:**\npoints = (number red cards) x 5 + (number yellow red cards) * 3 + number yellow cards\n",
                            "example": 85
                          },
                          "rank": {
                            "type": "integer",
                            "description": "Position of this team in the fairness ranking."
                          },
                          "club": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "The Club id.",
                                "example": 33
                              },
                              "link": {
                                "type": "string",
                                "description": "The url to the club resource in the api."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "mini": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a small resolution (70px by 70px)."
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/current_season/goalgetter": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Goalgetter for current season",
        "description": "Goalgetter statistics for the current season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "club_id",
            "in": "query",
            "type": "integer",
            "description": "Only return goalgetters from that club."
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season the ranking belongs to.",
                      "example": 3422
                    },
                    "player": {
                      "type": "array",
                      "description": "An array containing all goalgetters.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 69,
                            "description": "ID of the player."
                          },
                          "firstname": {
                            "type": "string",
                            "example": "Thomas",
                            "description": "First name of the player."
                          },
                          "goals": {
                            "type": "integer",
                            "example": 12,
                            "description": "Goals scored by the player."
                          },
                          "assists": {
                            "type": "integer",
                            "example": 23,
                            "description": "Number of assists for the player during the season."
                          },
                          "lastname": {
                            "type": "string",
                            "example": "Müller",
                            "description": "Last name of the player."
                          },
                          "name": {
                            "type": "string",
                            "example": "Thomas Müller",
                            "description": "Name of the player."
                          },
                          "nickname": {
                            "type": "string",
                            "example": "Tom",
                            "description": "Nickname of the player."
                          },
                          "team_id": {
                            "type": "integer",
                            "example": 866,
                            "description": "Id of the team the player belongs to."
                          },
                          "goals_home": {
                            "type": "integer",
                            "example": 0,
                            "description": "Goals scored by the player in home matches."
                          },
                          "goals_away": {
                            "type": "integer",
                            "example": 1,
                            "description": "Goals scored by the player in away matches."
                          },
                          "goals_today": {
                            "type": "integer",
                            "example": 0,
                            "description": "Goals the player has scored today."
                          },
                          "goals_head": {
                            "type": "integer",
                            "example": 0,
                            "description": "Goals scored by the player with a header."
                          },
                          "goals_inside_box": {
                            "type": "integer",
                            "example": 11,
                            "description": "Goals from within 16 meter penalty box."
                          },
                          "goals_outside_box": {
                            "type": "integer",
                            "example": 1,
                            "description": "Goals from outside 16 meter penalty box."
                          },
                          "goals_left": {
                            "type": "integer",
                            "example": 5,
                            "description": "Goals with left foot."
                          },
                          "goals_right": {
                            "type": "integer",
                            "example": 6,
                            "description": "Goals with right foot."
                          },
                          "penalty_shots_scored": {
                            "type": "integer",
                            "example": 0,
                            "description": "Goals scored by penalties."
                          },
                          "rank": {
                            "type": "integer",
                            "example": 1,
                            "description": "Rank in the list of goalgetters."
                          },
                          "portrait_image_url": {
                            "type": "string",
                            "description": "URL to the portrait image of the player."
                          },
                          "portrait_image": {
                            "type": "object",
                            "description": "The portrait image in different resolutions.",
                            "properties": {
                              "original": {
                                "type": "string",
                                "description": "URL to the portrait image in original resolution."
                              },
                              "medium": {
                                "type": "string",
                                "description": "URL to the portrait image in medium resolution (300x300)."
                              },
                              "small": {
                                "type": "string",
                                "description": "URL to the portrait image in small resolution (100x100)."
                              },
                              "mini": {
                                "type": "string",
                                "description": "URL to the portrait image in mini resolution (30x30)."
                              }
                            }
                          },
                          "club": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "The Club id.",
                                "example": 33
                              },
                              "link": {
                                "type": "string",
                                "description": "The url to the club resource in the api."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "mini": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a small resolution (70px by 70px)."
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/current_season/history": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Standing entries history for current season",
        "description": "3 matchday results for the 2 teams of the match sent in parameters.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "match_id",
            "in": "query",
            "type": "integer",
            "description": "Return standing entries for the teams who have played in this match."
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "tournament_id": {
                      "type": "integer",
                      "description": "The id of the tournament the standing entries belong to.",
                      "example": 3
                    },
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season the standing entries belongs to.",
                      "example": 3422
                    },
                    "standing_entries": {
                      "type": "array",
                      "description": "An array containing the standing_entries for the 2 teams for the day of the match and 2 previous matchdays.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "team_id": {
                            "type": "integer",
                            "example": 69,
                            "description": "ID of the team."
                          },
                          "club_id": {
                            "type": "integer",
                            "example": 4,
                            "description": "ID of the club."
                          },
                          "club_name": {
                            "type": "string",
                            "example": "Hamburger SV",
                            "description": "Name of the club."
                          },
                          "match_day": {
                            "type": "integer",
                            "example": 3,
                            "description": "Number of match_day."
                          },
                          "standing_points_after_match": {
                            "type": "integer",
                            "example": 15,
                            "description": "Standing points of the team in the end of the match day."
                          },
                          "rank_after_match": {
                            "type": "integer",
                            "example": 7,
                            "description": "Rank of the team in the end of the match day."
                          },
                          "result": {
                            "type": "string",
                            "description": "| value | description                  |\n|:------|:-----------------------------|\n| W     | the team has won             |\n| L     | the team has lost            |\n| D     | there is a draw              |\n| nil   | result can not be calculated |\n",
                            "enum": [
                              "W",
                              "L",
                              "D",
                              "nil"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/current_season/teams": {
      "get": {
        "tags": [
          "Team"
        ],
        "summary": "Teams of current seasons",
        "description": "Returns list of teams that are participate in the season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of teams.",
                  "items": {
                    "type": "object",
                    "description": "A team",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the team.",
                        "example": 1401830
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the team.",
                        "example": "Hamburger SV"
                      },
                      "link": {
                        "type": "string",
                        "description": "API URL to team."
                      },
                      "colors": {
                        "type": "object",
                        "description": "Team colors",
                        "properties": {
                          "one": {
                            "type": "string",
                            "description": "Primary color in hexadecimal format",
                            "example": "#0000CC"
                          },
                          "two": {
                            "type": "string",
                            "description": "Secondary Color in hexadecimal format",
                            "example": "#FFFFFF"
                          }
                        }
                      },
                      "club": {
                        "type": "object",
                        "description": "The Club this team blongs to.",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the club",
                            "example": 193
                          },
                          "link": {
                            "type": "string",
                            "description": "API URL to club"
                          },
                          "emblem": {
                            "type": "object",
                            "description": "The club emblem in different resolutions.",
                            "properties": {
                              "medium": {
                                "type": "string",
                                "description": "URL to the image in medium resolution (300x300)."
                              },
                              "mini": {
                                "type": "string",
                                "description": "URL to the image in mini resolution (36x36)."
                              },
                              "small": {
                                "type": "string",
                                "description": "URL to the image in mini resolution (70x70)."
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/current_season/teams/{id}": {
      "get": {
        "tags": [
          "Team"
        ],
        "summary": "Team of current season",
        "description": "Returns the team that is participating in the season.\n\nYou could also fetch the team in iCalendar format if you set `Accept: text/calendar` or use the `.ics` extension.\n",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the team."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "type": "object",
                      "description": "A team",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the team.",
                          "example": 1401830
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the team.",
                          "example": "Hamburger SV"
                        },
                        "link": {
                          "type": "string",
                          "description": "API URL to team."
                        },
                        "colors": {
                          "type": "object",
                          "description": "Team colors",
                          "properties": {
                            "one": {
                              "type": "string",
                              "description": "Primary color in hexadecimal format",
                              "example": "#0000CC"
                            },
                            "two": {
                              "type": "string",
                              "description": "Secondary Color in hexadecimal format",
                              "example": "#FFFFFF"
                            }
                          }
                        },
                        "club": {
                          "type": "object",
                          "description": "The Club this team blongs to.",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID of the club",
                              "example": 193
                            },
                            "link": {
                              "type": "string",
                              "description": "API URL to club"
                            },
                            "emblem": {
                              "type": "object",
                              "description": "The club emblem in different resolutions.",
                              "properties": {
                                "medium": {
                                  "type": "string",
                                  "description": "URL to the image in medium resolution (300x300)."
                                },
                                "mini": {
                                  "type": "string",
                                  "description": "URL to the image in mini resolution (36x36)."
                                },
                                "small": {
                                  "type": "string",
                                  "description": "URL to the image in mini resolution (70x70)."
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "players": {
                          "type": "array",
                          "items": {
                            "allOf": [
                              {
                                "type": "object",
                                "description": "A player in a team.",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "format": "int32",
                                    "description": "ID of the player",
                                    "example": 128453
                                  },
                                  "opta_id": {
                                    "type": "string",
                                    "description": "Opta ID of the player"
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of the player."
                                  },
                                  "lastname": {
                                    "type": "string",
                                    "description": "Lastname of the player."
                                  },
                                  "firstname": {
                                    "type": "string",
                                    "description": "Firstname of the player."
                                  },
                                  "nickname": {
                                    "type": "string",
                                    "description": "Nickname of the player."
                                  },
                                  "date_of_birth": {
                                    "type": "string",
                                    "description": "Date of birth of the player.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                                    "example": "1992-10-21"
                                  },
                                  "native_country": {
                                    "type": "string",
                                    "description": "The name of the country the player originated from.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                                  },
                                  "portrait_image_url": {
                                    "type": "string",
                                    "description": "URL to the portrait image of the player"
                                  },
                                  "portrait_image": {
                                    "type": "object",
                                    "description": "The portrait image in different resolutions.",
                                    "properties": {
                                      "original": {
                                        "type": "string",
                                        "description": "URL to the portrait image in original resolution."
                                      },
                                      "medium": {
                                        "type": "string",
                                        "description": "URL to the portrait image in medium resolution (300x300)."
                                      },
                                      "small": {
                                        "type": "string",
                                        "description": "URL to the portrait image in small resolution (100x100)."
                                      },
                                      "mini": {
                                        "type": "string",
                                        "description": "URL to the portrait image in mini resolution (30x30)."
                                      }
                                    }
                                  },
                                  "height": {
                                    "type": "integer",
                                    "description": "The players height in cm."
                                  },
                                  "weight": {
                                    "type": "integer",
                                    "description": "The players weight in kg."
                                  },
                                  "nationality": {
                                    "type": "string",
                                    "description": "The players nationality.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                                  },
                                  "uniform_number": {
                                    "type": "integer",
                                    "description": "Number on uniform of the player."
                                  },
                                  "position_regular": {
                                    "type": "string",
                                    "description": "Position the player plays in this match.",
                                    "enum": [
                                      "goalie",
                                      "defenseman",
                                      "mid-fielder",
                                      "forward",
                                      "wing-back",
                                      "full-back",
                                      "central-defenseman",
                                      "defensing-mid-fielder",
                                      "attacking-mid-fielder",
                                      "central-mid-fielder",
                                      "winger",
                                      "striker",
                                      "second-striker",
                                      "left",
                                      "right",
                                      "center",
                                      "left-center",
                                      "center-right",
                                      "left-center-right",
                                      "left-right"
                                    ]
                                  },
                                  "goals": {
                                    "type": "integer",
                                    "description": "Number of goals the player scored in during his / her career."
                                  },
                                  "assists": {
                                    "type": "integer",
                                    "description": "Number of assists for the player during the season."
                                  },
                                  "yellow_cards": {
                                    "type": "integer",
                                    "description": "Number of yellow cards the player received during the season."
                                  },
                                  "yellow_red_cards": {
                                    "type": "integer",
                                    "description": "Number of indirect red cards (second yellow cards) the player received during the season."
                                  },
                                  "red_cards": {
                                    "type": "integer",
                                    "description": "Number of red cards the player received during the season."
                                  },
                                  "minutes_played": {
                                    "type": "integer",
                                    "description": "Number of minutes the player was on the pitch during the season."
                                  },
                                  "substitutions_in": {
                                    "type": "integer",
                                    "description": "Number of times the player was brought on the pitch during the season."
                                  },
                                  "substitutions_out": {
                                    "type": "integer",
                                    "description": "Number of times the player was token off the pitch during the season."
                                  },
                                  "matches_played": {
                                    "type": "integer",
                                    "description": "Number of matches the player has participated in during this season."
                                  },
                                  "career_goals": {
                                    "type": "integer",
                                    "description": "Number of goals the player scored in during his / her career."
                                  },
                                  "career_matches_played": {
                                    "type": "integer",
                                    "description": "Number of matches the player has participated in during his / her career."
                                  },
                                  "bio": {
                                    "type": "string",
                                    "description": "Biography of the player."
                                  },
                                  "join_date": {
                                    "type": "string",
                                    "description": "The Date the player joined the club.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                                    "example": "2015-07-30"
                                  },
                                  "native_country_flag": {
                                    "type": "string",
                                    "description": "URL to flag of the country the player originated from."
                                  },
                                  "nationality_country_flag": {
                                    "type": "string",
                                    "description": "URL to flag of the country that matched the players nationality."
                                  },
                                  "loan": {
                                    "type": "boolean",
                                    "description": "Indicates whether the player is lent or not."
                                  },
                                  "external_shop_url": {
                                    "type": "string",
                                    "description": "URL to extenral shop."
                                  },
                                  "signature_card_front_image": {
                                    "type": "string",
                                    "description": "URL to image of autograph card."
                                  },
                                  "signature_card_back_image": {
                                    "type": "string",
                                    "description": "URL to image of reverse of autograph card."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "short_video_url": {
                                    "type": "string",
                                    "description": "URL to short video of the player.\n\n**Note**: This field is only present if a video has been added to the player in the application.\n"
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "officials": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": "A club official.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "format": "int32",
                                "description": "ID of the official",
                                "example": 31238
                              },
                              "lastname": {
                                "type": "string",
                                "description": "Lastname of the official"
                              },
                              "firstname": {
                                "type": "string",
                                "description": "Firstname of the official"
                              },
                              "position": {
                                "type": "string",
                                "description": "The position the official has inside the team",
                                "enum": [
                                  "2nd-chairman",
                                  "academy-director",
                                  "assistant-manager",
                                  "assistant-team-director",
                                  "athletic-trainer",
                                  "board-director",
                                  "board-director,-sport",
                                  "chairman",
                                  "chief-of-professional-football",
                                  "consultant",
                                  "coordination-trainer",
                                  "director",
                                  "director-advisory-board",
                                  "director-deputy-head-of-board",
                                  "director-of-sport",
                                  "director-supervisory-board",
                                  "director-team",
                                  "director, administrative",
                                  "event-manager",
                                  "fans-coordinator",
                                  "finances",
                                  "fitness-trainer",
                                  "goalkeeper-trainer",
                                  "head-of-board-of-directors",
                                  "head-of-football",
                                  "head-of-organisation",
                                  "head-of-professional-sports",
                                  "head-of-sports",
                                  "internist--head-of-amateur-football",
                                  "kit-manager",
                                  "manager",
                                  "marketing",
                                  "masseur",
                                  "member-of-shareholders-board",
                                  "mental-coach",
                                  "merchandising",
                                  "office-direction",
                                  "organisation-and-technica",
                                  "osteopath",
                                  "other-official",
                                  "physio",
                                  "player-organiser",
                                  "president",
                                  "press-relations",
                                  "rehab-trainer",
                                  "reserve_manager",
                                  "scout",
                                  "shareholders-board-director",
                                  "sports-manager",
                                  "supervisory-board",
                                  "team-doctor",
                                  "team-manager",
                                  "vice-president"
                                ]
                              },
                              "join_date": {
                                "type": "string",
                                "description": "The Date the official joined the club.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                                "example": "2012-02-15"
                              },
                              "date_of_birth": {
                                "type": "string",
                                "description": "Date of birth of the player.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                                "example": "1969-08-17"
                              },
                              "portrait_image_url": {
                                "type": "string",
                                "description": "URL to the portrait image of the official"
                              },
                              "birthplace": {
                                "type": "string",
                                "description": "The place the official was born in."
                              },
                              "nationality": {
                                "type": "string",
                                "description": "The officials nationality.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                              },
                              "signature_card_front_image": {
                                "type": "string",
                                "description": "URL to image of autograph card."
                              },
                              "signature_card_back_image": {
                                "type": "string",
                                "description": "URL to image of reverse of autograph card."
                              },
                              "bio": {
                                "type": "string",
                                "description": "Biography of the official."
                              },
                              "external_shop_url": {
                                "type": "string",
                                "description": "URL to external shop."
                              },
                              "first_name_overwrite": {
                                "type": "string",
                                "description": "Firstname overwrite of the official."
                              },
                              "last_name_overwrite": {
                                "type": "string",
                                "description": "Lastname overwrite of the official."
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/current_season/scorer": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Scorer for current season",
        "description": "Scorer statistics for the current season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "club_id",
            "in": "query",
            "type": "integer",
            "description": "Only return scorers from that club."
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season the ranking belongs to.",
                      "example": 3422
                    },
                    "player": {
                      "type": "array",
                      "description": "An array containing all scorers.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 69,
                            "description": "ID of the player."
                          },
                          "team_id": {
                            "type": "integer",
                            "example": 866,
                            "description": "Id of the team the player belongs to."
                          },
                          "firstname": {
                            "type": "string",
                            "example": "Thomas",
                            "description": "First name of the player."
                          },
                          "lastname": {
                            "type": "string",
                            "example": "Müller",
                            "description": "Last name of the player."
                          },
                          "name": {
                            "type": "string",
                            "example": "Thomas Müller",
                            "description": "Name of the player."
                          },
                          "nickname": {
                            "type": "string",
                            "example": "Tom",
                            "description": "Nickname of the player."
                          },
                          "goals": {
                            "type": "integer",
                            "example": 12,
                            "description": "Goals scored by the player."
                          },
                          "assists": {
                            "type": "integer",
                            "example": 21,
                            "description": "Assists by the player."
                          },
                          "points": {
                            "type": "integer",
                            "example": 33,
                            "description": "Sum of goals and assists."
                          },
                          "rank": {
                            "type": "integer",
                            "example": 1,
                            "description": "Rank of the player in the scorer ranking."
                          },
                          "portrait_image_url": {
                            "type": "string",
                            "description": "URL to the portrait image of the player."
                          },
                          "portrait_image": {
                            "type": "object",
                            "description": "The portrait image in different resolutions.",
                            "properties": {
                              "original": {
                                "type": "string",
                                "description": "URL to the portrait image in original resolution."
                              },
                              "medium": {
                                "type": "string",
                                "description": "URL to the portrait image in medium resolution (300x300)."
                              },
                              "small": {
                                "type": "string",
                                "description": "URL to the portrait image in small resolution (100x100)."
                              },
                              "mini": {
                                "type": "string",
                                "description": "URL to the portrait image in mini resolution (30x30)."
                              }
                            }
                          },
                          "club": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "The Club id.",
                                "example": 33
                              },
                              "link": {
                                "type": "string",
                                "description": "The url to the club resource in the api."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "mini": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a small resolution (70px by 70px)."
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/current_season/standing": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Standing for current season",
        "description": "Standing of the current season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "group_id",
            "in": "query",
            "type": "integer",
            "description": "Only return teams and their ranks for the group."
          },
          {
            "name": "round",
            "in": "query",
            "type": "integer",
            "description": "Only return standings for the specified round of the season."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "The response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n|Filter Items|Set locale|\n|:-----------|:-----------|\n|❌|✅|\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "tournament_id": {
                      "type": "integer",
                      "description": "The id of the tournament the standing belongs to.",
                      "example": 13
                    },
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season the standing belongs to.",
                      "example": 45
                    },
                    "teams": {
                      "type": "array",
                      "description": "All teams and its relevant attributes in the seasons standings.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the team.",
                            "example": 867
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the team.",
                            "example": "Borussia Dortmund"
                          },
                          "nickname": {
                            "type": "string",
                            "description": "Nickname of the team."
                          },
                          "matches_played": {
                            "type": "integer",
                            "description": "The number of matches played by the team in this season",
                            "example": 34
                          },
                          "outcomes": {
                            "type": "object",
                            "description": "All outcomes grouped by \"home\", \"away\" and both combined.",
                            "properties": {
                              "home": {
                                "type": "object",
                                "properties": {
                                  "wins": {
                                    "type": "integer",
                                    "description": "The number of wins the team has played in this season.",
                                    "example": 6
                                  },
                                  "ties": {
                                    "type": "integer",
                                    "description": "The number of ties the team has played in this season.",
                                    "example": 1
                                  },
                                  "losses": {
                                    "type": "integer",
                                    "description": "The number of losses the team has played in this season.",
                                    "example": 10
                                  },
                                  "matches_played": {
                                    "type": "integer",
                                    "description": "The number of matches the team has played in this season.",
                                    "example": 17
                                  },
                                  "points_scored_for": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been scored in this season.",
                                    "example": 12
                                  },
                                  "points_scored_against": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been taken in this season.",
                                    "example": 20
                                  },
                                  "points_scored_difference": {
                                    "type": "integer",
                                    "description": "The difference between goals the team has been scored and goals the team has been taken in this season.",
                                    "example": -8
                                  },
                                  "standing_points": {
                                    "type": "integer",
                                    "description": "The current points in the table the team has in this seaso.",
                                    "example": 34
                                  }
                                }
                              },
                              "away": {
                                "type": "object",
                                "properties": {
                                  "wins": {
                                    "type": "integer",
                                    "description": "The number of wins the team has played in this season.",
                                    "example": 6
                                  },
                                  "ties": {
                                    "type": "integer",
                                    "description": "The number of ties the team has played in this season.",
                                    "example": 1
                                  },
                                  "losses": {
                                    "type": "integer",
                                    "description": "The number of losses the team has played in this season.",
                                    "example": 10
                                  },
                                  "matches_played": {
                                    "type": "integer",
                                    "description": "The number of matches the team has played in this season.",
                                    "example": 17
                                  },
                                  "points_scored_for": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been scored in this season.",
                                    "example": 12
                                  },
                                  "points_scored_against": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been taken in this season.",
                                    "example": 20
                                  },
                                  "points_scored_difference": {
                                    "type": "integer",
                                    "description": "The difference between goals the team has been scored and goals the team has been taken in this season.",
                                    "example": -8
                                  },
                                  "standing_points": {
                                    "type": "integer",
                                    "description": "The current points in the table the team has in this seaso.",
                                    "example": 34
                                  }
                                }
                              },
                              "all": {
                                "type": "object",
                                "properties": {
                                  "wins": {
                                    "type": "integer",
                                    "description": "The number of wins the team has played in this season.",
                                    "example": 6
                                  },
                                  "ties": {
                                    "type": "integer",
                                    "description": "The number of ties the team has played in this season.",
                                    "example": 1
                                  },
                                  "losses": {
                                    "type": "integer",
                                    "description": "The number of losses the team has played in this season.",
                                    "example": 10
                                  },
                                  "matches_played": {
                                    "type": "integer",
                                    "description": "The number of matches the team has played in this season.",
                                    "example": 17
                                  },
                                  "points_scored_for": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been scored in this season.",
                                    "example": 12
                                  },
                                  "points_scored_against": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been taken in this season.",
                                    "example": 20
                                  },
                                  "points_scored_difference": {
                                    "type": "integer",
                                    "description": "The difference between goals the team has been scored and goals the team has been taken in this season.",
                                    "example": -8
                                  },
                                  "standing_points": {
                                    "type": "integer",
                                    "description": "The current points in the table the team has in this seaso.",
                                    "example": 34
                                  }
                                }
                              }
                            }
                          },
                          "ranks": {
                            "type": "object",
                            "description": "The rank of the team in the season standings table grouped by \"home\", \"away\" and both combined",
                            "properties": {
                              "home": {
                                "type": "object",
                                "properties": {
                                  "rank": {
                                    "type": "integer",
                                    "description": "The current rank in the standings table.",
                                    "example": 1
                                  },
                                  "trend": {
                                    "type": "integer",
                                    "description": "Trend of the current rank (e.g. 2 means two ranks up, -2 means two ranks down).",
                                    "example": 0
                                  }
                                }
                              },
                              "away": {
                                "type": "object",
                                "properties": {
                                  "rank": {
                                    "type": "integer",
                                    "description": "The current rank in the standings table.",
                                    "example": 1
                                  },
                                  "trend": {
                                    "type": "integer",
                                    "description": "Trend of the current rank (e.g. 2 means two ranks up, -2 means two ranks down).",
                                    "example": 0
                                  }
                                }
                              },
                              "all": {
                                "type": "object",
                                "properties": {
                                  "rank": {
                                    "type": "integer",
                                    "description": "The current rank in the standings table.",
                                    "example": 1
                                  },
                                  "trend": {
                                    "type": "integer",
                                    "description": "Trend of the current rank (e.g. 2 means two ranks up, -2 means two ranks down).",
                                    "example": 0
                                  }
                                }
                              }
                            }
                          },
                          "club": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "The Club id.",
                                "example": 33
                              },
                              "link": {
                                "type": "string",
                                "description": "The url to the club resource in the api."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "mini": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a small resolution (70px by 70px)."
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                                  }
                                }
                              }
                            }
                          },
                          "group": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "Id of the group, the team is in.",
                                "example": 23
                              },
                              "name": {
                                "type": "string",
                                "description": "Name of the group, the team is in\n\n**NOTE**: the info will always be in the locale which is provide\n"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/current_season/schedule": {
      "get": {
        "tags": [
          "Schedule"
        ],
        "summary": "Schedule of current season for tournament",
        "description": "Returns list of scheduled matches of the given season and tournament.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "club_id",
            "in": "query",
            "type": "integer",
            "description": "Filter matches by club id."
          },
          {
            "name": "group_id",
            "in": "query",
            "type": "integer",
            "description": "Filter matches by group."
          },
          {
            "name": "round",
            "in": "query",
            "type": "string",
            "description": "Id of the round.\n\nAll divisions without this round are filtered out.\nThis parameter can also have the value `current_round` which will give you the current_round.\n"
          },
          {
            "name": "previous",
            "in": "query",
            "type": "integer",
            "description": "Number of matches before yesterday to limiting the returning matches."
          },
          {
            "name": "next",
            "in": "query",
            "type": "integer",
            "description": "Number of matches since yesterday to limiting the returning matches. The value includes yesterday."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "The response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n|Filter Items|Set locale|\n|:-----------|:-----------|\n|❌|✅|\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season.",
                      "example": 1573215
                    },
                    "season_name": {
                      "type": "string",
                      "description": "The name of the season.",
                      "example": "2016/2017"
                    },
                    "tournament_id": {
                      "type": "integer",
                      "description": "The id of the tournament.",
                      "example": 1
                    },
                    "tournament_name": {
                      "type": "string",
                      "description": "The name of the tournament.\n\n**NOTE**: the info will always be in the locale which is provide\n",
                      "example": "Bundesliga"
                    },
                    "tournament_handle": {
                      "type": "string",
                      "description": "The handle of the tournament.",
                      "example": "BUNDESLIGA"
                    },
                    "number_of_rounds": {
                      "type": "integer",
                      "description": "Number of rounds in this season.",
                      "example": 34
                    },
                    "divisions": {
                      "type": "array",
                      "description": "An array containing the division hashes for this season.\nExamples for a division are a the group stage of the Euro- or Championsleague,\nthe first or second half of a league or a knockout stage matchday in a Cup\n",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "The id of the division",
                            "example": 1
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the division\n\n**NOTE**: the info will always be in the locale which is provide\n",
                            "example": "First half of the season"
                          },
                          "rounds": {
                            "type": "array",
                            "description": "Rounds in this division.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "description": "ID of round.",
                                  "example": 2
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of round.",
                                  "example": "2. Spieltag"
                                },
                                "matches": {
                                  "type": "array",
                                  "description": "Matches in this round.",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "integer",
                                        "description": "ID of the match.",
                                        "example": 42
                                      },
                                      "live": {
                                        "type": "boolean",
                                        "description": "True when the match is currently running.",
                                        "example": false
                                      },
                                      "in_break": {
                                        "type": "boolean",
                                        "description": "True when the match is currently in halftime break.",
                                        "example": false
                                      },
                                      "has_overtime": {
                                        "type": "boolean",
                                        "description": "True when the match had a or is currently in first 15 minutes of overtime.",
                                        "example": false
                                      },
                                      "has_overtime_2": {
                                        "type": "boolean",
                                        "description": "True when the match had a or is currently in second 15 minutes of overtime.",
                                        "example": false
                                      },
                                      "has_penalty_shootout": {
                                        "type": "boolean",
                                        "description": "True when match had a or is currently in penalty shootout.",
                                        "example": false
                                      },
                                      "start_date_time": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Date and time when the game starts.",
                                        "example": "2016-08-22T20:45:00+02:00"
                                      },
                                      "start_date_time_quality": {
                                        "type": "string",
                                        "description": "| value      | description                                       |\n|:-----------|:--------------------------------------------------|\n| `assumed`  | `start_date_time` is planed but are not definite. |\n| `definite` | `start_date_time` is definite.                    |\n",
                                        "enum": [
                                          "assumed",
                                          "definite"
                                        ]
                                      },
                                      "start_weekday": {
                                        "type": "string",
                                        "description": "Day of week in which the match starts.",
                                        "example": "wednesday"
                                      },
                                      "event_status": {
                                        "type": "string",
                                        "description": "State of the match.\n\n| value         | description                     |\n|:--------------|:--------------------------------|\n| `pre-event`   | upcoming match                  |\n| `post-event`  | past match                      |\n| `mid-event`   | running match                   |\n| `halted`      | match aborted                   |\n| `canceled`    | match was canceled              |\n| `forfeited`   | match was decided off the field |\n| `postponed`   | match was postponed             |\n| `rescheduled` | match was given a new date      |\n| `delayed`     | match started later             |\n",
                                        "enum": [
                                          "pre-event",
                                          "post-event",
                                          "mid-event",
                                          "halted",
                                          "canceled",
                                          "forfeited",
                                          "postponed",
                                          "rescheduled",
                                          "delayed"
                                        ]
                                      },
                                      "group": {
                                        "allOf": [
                                          {
                                            "type": "object",
                                            "properties": {
                                              "id": {
                                                "type": "integer",
                                                "description": "ID of group.",
                                                "example": 6
                                              },
                                              "name": {
                                                "type": "string",
                                                "description": "Name of group.",
                                                "example": "Gruppe F"
                                              }
                                            }
                                          },
                                          {
                                            "description": "Group the match is placed in."
                                          }
                                        ]
                                      },
                                      "site": {
                                        "allOf": [
                                          {
                                            "type": "object",
                                            "properties": {
                                              "id": {
                                                "type": "integer",
                                                "description": "ID of location.",
                                                "example": 45
                                              },
                                              "name": {
                                                "type": "string",
                                                "description": "Name of the location.",
                                                "example": "Red Bull Arena"
                                              },
                                              "built": {
                                                "type": "integer",
                                                "description": "Year when the venue was built.",
                                                "example": 2004
                                              },
                                              "roof": {
                                                "type": "boolean",
                                                "description": "True when venue has a roof."
                                              },
                                              "seats": {
                                                "type": "integer",
                                                "description": "Number of seats/capacity.",
                                                "example": 42959
                                              },
                                              "surface": {
                                                "type": "string",
                                                "description": "Surface of the stadium.",
                                                "enum": [
                                                  "artificial_turf",
                                                  "turf"
                                                ],
                                                "example": "turf"
                                              },
                                              "url": {
                                                "type": "string",
                                                "description": "URL to the website of the venue.",
                                                "example": "www.sportforum-leipzig.com"
                                              },
                                              "city": {
                                                "type": "string",
                                                "description": "City of the venue.",
                                                "example": "Leipzig"
                                              },
                                              "postal_code": {
                                                "type": "string",
                                                "description": "Postal code of the location.",
                                                "example": "04105"
                                              },
                                              "street": {
                                                "type": "string",
                                                "description": "Street of the location.",
                                                "example": "Am Sportforum, 3"
                                              },
                                              "lat": {
                                                "type": "number",
                                                "format": "float",
                                                "description": "Latitude of the location."
                                              },
                                              "lng": {
                                                "type": "number",
                                                "format": "float",
                                                "description": "Longitude of the location."
                                              },
                                              "pitch": {
                                                "type": "object",
                                                "description": "Size of the pitch.",
                                                "properties": {
                                                  "x": {
                                                    "type": "integer",
                                                    "description": "Length of the pitch.",
                                                    "example": 105
                                                  },
                                                  "y": {
                                                    "type": "integer",
                                                    "description": "Width of the pitch.",
                                                    "example": 68
                                                  }
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "description": "Location where the match will happen."
                                          }
                                        ]
                                      },
                                      "teams": {
                                        "type": "array",
                                        "description": "List of teams for this match.",
                                        "items": {
                                          "type": "object",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "description": "ID of the team.",
                                              "example": 1401830
                                            },
                                            "name": {
                                              "type": "string",
                                              "description": "Name of the team.",
                                              "example": "SV Eintracht Trier 05"
                                            },
                                            "nickname": {
                                              "type": "string",
                                              "description": "Nickname of the team."
                                            },
                                            "handle": {
                                              "type": "string",
                                              "description": "Handle of the team."
                                            },
                                            "lineup_complete": {
                                              "type": "string",
                                              "description": "True when lineup is completed."
                                            },
                                            "alignment": {
                                              "type": "string",
                                              "description": "Alignment of the team.",
                                              "enum": [
                                                "away",
                                                "home"
                                              ]
                                            },
                                            "score": {
                                              "allOf": [
                                                {
                                                  "type": "object",
                                                  "properties": {
                                                    "final": {
                                                      "description": "Final score of the match.",
                                                      "type": "integer"
                                                    },
                                                    "period_1": {
                                                      "description": "Score in the first period.",
                                                      "type": "integer"
                                                    },
                                                    "period_2": {
                                                      "description": "Score in the second period.",
                                                      "type": "integer"
                                                    },
                                                    "period_3": {
                                                      "description": "Score in the first period of overtime.",
                                                      "type": "integer"
                                                    },
                                                    "period_4": {
                                                      "description": "Score in the second period of overtime.",
                                                      "type": "integer"
                                                    },
                                                    "period_5": {
                                                      "description": "Score in the penalty shootout.",
                                                      "type": "integer"
                                                    }
                                                  }
                                                },
                                                {
                                                  "description": "Score of this team in this match."
                                                }
                                              ]
                                            },
                                            "club": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "description": "ID of the club. This **SHALL NOT** change for a club.",
                                                  "example": 81
                                                },
                                                "link": {
                                                  "type": "string",
                                                  "description": "API-URL to this club."
                                                },
                                                "emblem": {
                                                  "type": "object",
                                                  "description": "The club emblem in different resolutions.",
                                                  "properties": {
                                                    "medium": {
                                                      "type": "string",
                                                      "description": "URL to the image in medium resolution (300x300>)."
                                                    },
                                                    "mini": {
                                                      "type": "string",
                                                      "description": "URL to the image in mini resolution (36x36>)."
                                                    },
                                                    "small": {
                                                      "type": "string",
                                                      "description": "URL to the image in mini resolution (70x70>)."
                                                    }
                                                  }
                                                }
                                              }
                                            },
                                            "liveticker": {
                                              "type": "object",
                                              "description": "Informations about the liveticker.",
                                              "properties": {
                                                "comments_available": {
                                                  "type": "boolean",
                                                  "description": "True when liveticker comments are available."
                                                }
                                              }
                                            },
                                            "matchday": {
                                              "type": "object",
                                              "description": "Informations about the matchday.",
                                              "properties": {
                                                "available": {
                                                  "type": "boolean",
                                                  "description": "True when matchday is available."
                                                },
                                                "live": {
                                                  "type": "boolean",
                                                  "description": "True when matchday is currently live."
                                                },
                                                "link": {
                                                  "type": "string",
                                                  "description": "API URL to the matchday."
                                                }
                                              }
                                            }
                                          }
                                        }
                                      },
                                      "video_id": {
                                        "type": "integer",
                                        "description": "This match's associated video ID, if existent."
                                      },
                                      "match_name": {
                                        "type": "string",
                                        "description": "optional name of the match."
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/fairness": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Fairplay table",
        "description": "Fairplay table for given season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "season_id": {
                      "type": "integer",
                      "description": "ID of the season.",
                      "example": 3422
                    },
                    "teams": {
                      "type": "array",
                      "description": "All teams and its relevant attributes in the fairness ranking.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the Team.",
                            "example": 1203
                          },
                          "name": {
                            "type": "string",
                            "description": "The teams name.",
                            "example": "Bayer 04 Leverkusen"
                          },
                          "nickname": {
                            "type": "string",
                            "description": "The teams nickname.",
                            "example": "Bayer"
                          },
                          "yellow_cards": {
                            "type": "integer",
                            "description": "Number of yellow cards for this team.",
                            "example": 34
                          },
                          "yellow_red_cards": {
                            "type": "integer",
                            "description": "Number of yellow red cards for this team.",
                            "example": 12
                          },
                          "red_cards": {
                            "type": "integer",
                            "description": "Number of red cards for this team.",
                            "example": 3
                          },
                          "points": {
                            "type": "integer",
                            "description": "Commulated fairness point, less points -> better position in the ranking.\n\n**Formular:**\npoints = (number red cards) x 5 + (number yellow red cards) * 3 + number yellow cards\n",
                            "example": 85
                          },
                          "rank": {
                            "type": "integer",
                            "description": "Position of this team in the fairness ranking."
                          },
                          "club": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "The Club id.",
                                "example": 33
                              },
                              "link": {
                                "type": "string",
                                "description": "The url to the club resource in the api."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "mini": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a small resolution (70px by 70px)."
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/goalgetter": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Goalgetter",
        "description": "Goalgetter statistics for the season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "club_id",
            "in": "query",
            "type": "integer",
            "description": "Only return goalgetters from that club."
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season the ranking belongs to.",
                      "example": 3422
                    },
                    "player": {
                      "type": "array",
                      "description": "An array containing all goalgetters.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 69,
                            "description": "ID of the player."
                          },
                          "firstname": {
                            "type": "string",
                            "example": "Thomas",
                            "description": "First name of the player."
                          },
                          "goals": {
                            "type": "integer",
                            "example": 12,
                            "description": "Goals scored by the player."
                          },
                          "assists": {
                            "type": "integer",
                            "example": 23,
                            "description": "Number of assists for the player during the season."
                          },
                          "lastname": {
                            "type": "string",
                            "example": "Müller",
                            "description": "Last name of the player."
                          },
                          "name": {
                            "type": "string",
                            "example": "Thomas Müller",
                            "description": "Name of the player."
                          },
                          "nickname": {
                            "type": "string",
                            "example": "Tom",
                            "description": "Nickname of the player."
                          },
                          "team_id": {
                            "type": "integer",
                            "example": 866,
                            "description": "Id of the team the player belongs to."
                          },
                          "goals_home": {
                            "type": "integer",
                            "example": 0,
                            "description": "Goals scored by the player in home matches."
                          },
                          "goals_away": {
                            "type": "integer",
                            "example": 1,
                            "description": "Goals scored by the player in away matches."
                          },
                          "goals_today": {
                            "type": "integer",
                            "example": 0,
                            "description": "Goals the player has scored today."
                          },
                          "goals_head": {
                            "type": "integer",
                            "example": 0,
                            "description": "Goals scored by the player with a header."
                          },
                          "goals_inside_box": {
                            "type": "integer",
                            "example": 11,
                            "description": "Goals from within 16 meter penalty box."
                          },
                          "goals_outside_box": {
                            "type": "integer",
                            "example": 1,
                            "description": "Goals from outside 16 meter penalty box."
                          },
                          "goals_left": {
                            "type": "integer",
                            "example": 5,
                            "description": "Goals with left foot."
                          },
                          "goals_right": {
                            "type": "integer",
                            "example": 6,
                            "description": "Goals with right foot."
                          },
                          "penalty_shots_scored": {
                            "type": "integer",
                            "example": 0,
                            "description": "Goals scored by penalties."
                          },
                          "rank": {
                            "type": "integer",
                            "example": 1,
                            "description": "Rank in the list of goalgetters."
                          },
                          "portrait_image_url": {
                            "type": "string",
                            "description": "URL to the portrait image of the player."
                          },
                          "portrait_image": {
                            "type": "object",
                            "description": "The portrait image in different resolutions.",
                            "properties": {
                              "original": {
                                "type": "string",
                                "description": "URL to the portrait image in original resolution."
                              },
                              "medium": {
                                "type": "string",
                                "description": "URL to the portrait image in medium resolution (300x300)."
                              },
                              "small": {
                                "type": "string",
                                "description": "URL to the portrait image in small resolution (100x100)."
                              },
                              "mini": {
                                "type": "string",
                                "description": "URL to the portrait image in mini resolution (30x30)."
                              }
                            }
                          },
                          "club": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "The Club id.",
                                "example": 33
                              },
                              "link": {
                                "type": "string",
                                "description": "The url to the club resource in the api."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "mini": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a small resolution (70px by 70px)."
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/history": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Standing entries history for given season",
        "description": "3 matchday results for the 2 teams of the match sent in parameters.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "match_id",
            "in": "query",
            "type": "integer",
            "description": "Return standing entries for the teams who have played in this match."
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "tournament_id": {
                      "type": "integer",
                      "description": "The id of the tournament the standing entries belong to.",
                      "example": 3
                    },
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season the standing entries belongs to.",
                      "example": 3422
                    },
                    "standing_entries": {
                      "type": "array",
                      "description": "An array containing the standing_entries for the 2 teams for the day of the match and 2 previous matchdays.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "team_id": {
                            "type": "integer",
                            "example": 69,
                            "description": "ID of the team."
                          },
                          "club_id": {
                            "type": "integer",
                            "example": 4,
                            "description": "ID of the club."
                          },
                          "club_name": {
                            "type": "string",
                            "example": "Hamburger SV",
                            "description": "Name of the club."
                          },
                          "match_day": {
                            "type": "integer",
                            "example": 3,
                            "description": "Number of match_day."
                          },
                          "standing_points_after_match": {
                            "type": "integer",
                            "example": 15,
                            "description": "Standing points of the team in the end of the match day."
                          },
                          "rank_after_match": {
                            "type": "integer",
                            "example": 7,
                            "description": "Rank of the team in the end of the match day."
                          },
                          "result": {
                            "type": "string",
                            "description": "| value | description                  |\n|:------|:-----------------------------|\n| W     | the team has won             |\n| L     | the team has lost            |\n| D     | there is a draw              |\n| nil   | result can not be calculated |\n",
                            "enum": [
                              "W",
                              "L",
                              "D",
                              "nil"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/scorer": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Scorer",
        "description": "Scorer statistics for the season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 25,
            "maximum": 25,
            "description": "Maximal number of items per page."
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "description": "Index of requested page."
          },
          {
            "name": "club_id",
            "in": "query",
            "type": "integer",
            "description": "Only return scorers from that club."
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season the ranking belongs to.",
                      "example": 3422
                    },
                    "player": {
                      "type": "array",
                      "description": "An array containing all scorers.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 69,
                            "description": "ID of the player."
                          },
                          "team_id": {
                            "type": "integer",
                            "example": 866,
                            "description": "Id of the team the player belongs to."
                          },
                          "firstname": {
                            "type": "string",
                            "example": "Thomas",
                            "description": "First name of the player."
                          },
                          "lastname": {
                            "type": "string",
                            "example": "Müller",
                            "description": "Last name of the player."
                          },
                          "name": {
                            "type": "string",
                            "example": "Thomas Müller",
                            "description": "Name of the player."
                          },
                          "nickname": {
                            "type": "string",
                            "example": "Tom",
                            "description": "Nickname of the player."
                          },
                          "goals": {
                            "type": "integer",
                            "example": 12,
                            "description": "Goals scored by the player."
                          },
                          "assists": {
                            "type": "integer",
                            "example": 21,
                            "description": "Assists by the player."
                          },
                          "points": {
                            "type": "integer",
                            "example": 33,
                            "description": "Sum of goals and assists."
                          },
                          "rank": {
                            "type": "integer",
                            "example": 1,
                            "description": "Rank of the player in the scorer ranking."
                          },
                          "portrait_image_url": {
                            "type": "string",
                            "description": "URL to the portrait image of the player."
                          },
                          "portrait_image": {
                            "type": "object",
                            "description": "The portrait image in different resolutions.",
                            "properties": {
                              "original": {
                                "type": "string",
                                "description": "URL to the portrait image in original resolution."
                              },
                              "medium": {
                                "type": "string",
                                "description": "URL to the portrait image in medium resolution (300x300)."
                              },
                              "small": {
                                "type": "string",
                                "description": "URL to the portrait image in small resolution (100x100)."
                              },
                              "mini": {
                                "type": "string",
                                "description": "URL to the portrait image in mini resolution (30x30)."
                              }
                            }
                          },
                          "club": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "The Club id.",
                                "example": 33
                              },
                              "link": {
                                "type": "string",
                                "description": "The url to the club resource in the api."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "mini": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a small resolution (70px by 70px)."
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/standing": {
      "get": {
        "tags": [
          "Season"
        ],
        "summary": "Standing",
        "description": "Standing of the given season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "group_id",
            "in": "query",
            "type": "integer",
            "description": "Only return teams and their ranks for the group."
          },
          {
            "name": "round",
            "in": "query",
            "type": "integer",
            "description": "Only return standings for the specified round of the season."
          },
          {
            "name": "v",
            "in": "query",
            "type": "integer",
            "description": "Optional version parameter. If set to 2, the response will include dividers."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "The response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n|Filter Items|Set locale|\n|:-----------|:-----------|\n|❌|✅|\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "tournament_id": {
                      "type": "integer",
                      "description": "The id of the tournament the standing belongs to.",
                      "example": 13
                    },
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season the standing belongs to.",
                      "example": 45
                    },
                    "teams": {
                      "type": "array",
                      "description": "All teams and its relevant attributes in the seasons standings.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the team.",
                            "example": 867
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the team.",
                            "example": "Borussia Dortmund"
                          },
                          "nickname": {
                            "type": "string",
                            "description": "Nickname of the team."
                          },
                          "matches_played": {
                            "type": "integer",
                            "description": "The number of matches played by the team in this season",
                            "example": 34
                          },
                          "outcomes": {
                            "type": "object",
                            "description": "All outcomes grouped by \"home\", \"away\" and both combined.",
                            "properties": {
                              "home": {
                                "type": "object",
                                "properties": {
                                  "wins": {
                                    "type": "integer",
                                    "description": "The number of wins the team has played in this season.",
                                    "example": 6
                                  },
                                  "ties": {
                                    "type": "integer",
                                    "description": "The number of ties the team has played in this season.",
                                    "example": 1
                                  },
                                  "losses": {
                                    "type": "integer",
                                    "description": "The number of losses the team has played in this season.",
                                    "example": 10
                                  },
                                  "matches_played": {
                                    "type": "integer",
                                    "description": "The number of matches the team has played in this season.",
                                    "example": 17
                                  },
                                  "points_scored_for": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been scored in this season.",
                                    "example": 12
                                  },
                                  "points_scored_against": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been taken in this season.",
                                    "example": 20
                                  },
                                  "points_scored_difference": {
                                    "type": "integer",
                                    "description": "The difference between goals the team has been scored and goals the team has been taken in this season.",
                                    "example": -8
                                  },
                                  "standing_points": {
                                    "type": "integer",
                                    "description": "The current points in the table the team has in this seaso.",
                                    "example": 34
                                  }
                                }
                              },
                              "away": {
                                "type": "object",
                                "properties": {
                                  "wins": {
                                    "type": "integer",
                                    "description": "The number of wins the team has played in this season.",
                                    "example": 6
                                  },
                                  "ties": {
                                    "type": "integer",
                                    "description": "The number of ties the team has played in this season.",
                                    "example": 1
                                  },
                                  "losses": {
                                    "type": "integer",
                                    "description": "The number of losses the team has played in this season.",
                                    "example": 10
                                  },
                                  "matches_played": {
                                    "type": "integer",
                                    "description": "The number of matches the team has played in this season.",
                                    "example": 17
                                  },
                                  "points_scored_for": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been scored in this season.",
                                    "example": 12
                                  },
                                  "points_scored_against": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been taken in this season.",
                                    "example": 20
                                  },
                                  "points_scored_difference": {
                                    "type": "integer",
                                    "description": "The difference between goals the team has been scored and goals the team has been taken in this season.",
                                    "example": -8
                                  },
                                  "standing_points": {
                                    "type": "integer",
                                    "description": "The current points in the table the team has in this seaso.",
                                    "example": 34
                                  }
                                }
                              },
                              "all": {
                                "type": "object",
                                "properties": {
                                  "wins": {
                                    "type": "integer",
                                    "description": "The number of wins the team has played in this season.",
                                    "example": 6
                                  },
                                  "ties": {
                                    "type": "integer",
                                    "description": "The number of ties the team has played in this season.",
                                    "example": 1
                                  },
                                  "losses": {
                                    "type": "integer",
                                    "description": "The number of losses the team has played in this season.",
                                    "example": 10
                                  },
                                  "matches_played": {
                                    "type": "integer",
                                    "description": "The number of matches the team has played in this season.",
                                    "example": 17
                                  },
                                  "points_scored_for": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been scored in this season.",
                                    "example": 12
                                  },
                                  "points_scored_against": {
                                    "type": "integer",
                                    "description": "The number of goals the team has been taken in this season.",
                                    "example": 20
                                  },
                                  "points_scored_difference": {
                                    "type": "integer",
                                    "description": "The difference between goals the team has been scored and goals the team has been taken in this season.",
                                    "example": -8
                                  },
                                  "standing_points": {
                                    "type": "integer",
                                    "description": "The current points in the table the team has in this seaso.",
                                    "example": 34
                                  }
                                }
                              }
                            }
                          },
                          "ranks": {
                            "type": "object",
                            "description": "The rank of the team in the season standings table grouped by \"home\", \"away\" and both combined",
                            "properties": {
                              "home": {
                                "type": "object",
                                "properties": {
                                  "rank": {
                                    "type": "integer",
                                    "description": "The current rank in the standings table.",
                                    "example": 1
                                  },
                                  "trend": {
                                    "type": "integer",
                                    "description": "Trend of the current rank (e.g. 2 means two ranks up, -2 means two ranks down).",
                                    "example": 0
                                  }
                                }
                              },
                              "away": {
                                "type": "object",
                                "properties": {
                                  "rank": {
                                    "type": "integer",
                                    "description": "The current rank in the standings table.",
                                    "example": 1
                                  },
                                  "trend": {
                                    "type": "integer",
                                    "description": "Trend of the current rank (e.g. 2 means two ranks up, -2 means two ranks down).",
                                    "example": 0
                                  }
                                }
                              },
                              "all": {
                                "type": "object",
                                "properties": {
                                  "rank": {
                                    "type": "integer",
                                    "description": "The current rank in the standings table.",
                                    "example": 1
                                  },
                                  "trend": {
                                    "type": "integer",
                                    "description": "Trend of the current rank (e.g. 2 means two ranks up, -2 means two ranks down).",
                                    "example": 0
                                  }
                                }
                              }
                            }
                          },
                          "club": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "The Club id.",
                                "example": 33
                              },
                              "link": {
                                "type": "string",
                                "description": "The url to the club resource in the api."
                              },
                              "emblem": {
                                "type": "object",
                                "description": "The club emblem in different resolutions.",
                                "properties": {
                                  "mini": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                                  },
                                  "small": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a small resolution (70px by 70px)."
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                                  }
                                }
                              }
                            }
                          },
                          "group": {
                            "type": "object",
                            "description": "The club the team belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "Id of the group, the team is in.",
                                "example": 23
                              },
                              "name": {
                                "type": "string",
                                "description": "Name of the group, the team is in\n\n**NOTE**: the info will always be in the locale which is provide\n"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/schedule": {
      "get": {
        "tags": [
          "Schedule"
        ],
        "summary": "Schedule of season for tournament",
        "description": "Returns list of scheduled matches of the given season and tournament.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "club_id",
            "in": "query",
            "type": "integer",
            "description": "Filter matches by club id."
          },
          {
            "name": "group_id",
            "in": "query",
            "type": "integer",
            "description": "Filter matches by group."
          },
          {
            "name": "round",
            "in": "query",
            "type": "string",
            "description": "Id of the round.\n\nAll divisions without this round are filtered out.\nThis parameter can also have the value `current_round` which will give you the current_round.\n"
          },
          {
            "name": "previous",
            "in": "query",
            "type": "integer",
            "description": "Number of matches before yesterday to limiting the returning matches."
          },
          {
            "name": "next",
            "in": "query",
            "type": "integer",
            "description": "Number of matches since yesterday to limiting the returning matches. The value includes yesterday."
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "season_id": {
                      "type": "integer",
                      "description": "The id of the season.",
                      "example": 1573215
                    },
                    "season_name": {
                      "type": "string",
                      "description": "The name of the season.",
                      "example": "2016/2017"
                    },
                    "tournament_id": {
                      "type": "integer",
                      "description": "The id of the tournament.",
                      "example": 1
                    },
                    "tournament_name": {
                      "type": "string",
                      "description": "The name of the tournament.\n\n**NOTE**: the info will always be in the locale which is provide\n",
                      "example": "Bundesliga"
                    },
                    "tournament_handle": {
                      "type": "string",
                      "description": "The handle of the tournament.",
                      "example": "BUNDESLIGA"
                    },
                    "number_of_rounds": {
                      "type": "integer",
                      "description": "Number of rounds in this season.",
                      "example": 34
                    },
                    "divisions": {
                      "type": "array",
                      "description": "An array containing the division hashes for this season.\nExamples for a division are a the group stage of the Euro- or Championsleague,\nthe first or second half of a league or a knockout stage matchday in a Cup\n",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "The id of the division",
                            "example": 1
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the division\n\n**NOTE**: the info will always be in the locale which is provide\n",
                            "example": "First half of the season"
                          },
                          "rounds": {
                            "type": "array",
                            "description": "Rounds in this division.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "description": "ID of round.",
                                  "example": 2
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of round.",
                                  "example": "2. Spieltag"
                                },
                                "matches": {
                                  "type": "array",
                                  "description": "Matches in this round.",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "integer",
                                        "description": "ID of the match.",
                                        "example": 42
                                      },
                                      "live": {
                                        "type": "boolean",
                                        "description": "True when the match is currently running.",
                                        "example": false
                                      },
                                      "in_break": {
                                        "type": "boolean",
                                        "description": "True when the match is currently in halftime break.",
                                        "example": false
                                      },
                                      "has_overtime": {
                                        "type": "boolean",
                                        "description": "True when the match had a or is currently in first 15 minutes of overtime.",
                                        "example": false
                                      },
                                      "has_overtime_2": {
                                        "type": "boolean",
                                        "description": "True when the match had a or is currently in second 15 minutes of overtime.",
                                        "example": false
                                      },
                                      "has_penalty_shootout": {
                                        "type": "boolean",
                                        "description": "True when match had a or is currently in penalty shootout.",
                                        "example": false
                                      },
                                      "start_date_time": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Date and time when the game starts.",
                                        "example": "2016-08-22T20:45:00+02:00"
                                      },
                                      "start_date_time_quality": {
                                        "type": "string",
                                        "description": "| value      | description                                       |\n|:-----------|:--------------------------------------------------|\n| `assumed`  | `start_date_time` is planed but are not definite. |\n| `definite` | `start_date_time` is definite.                    |\n",
                                        "enum": [
                                          "assumed",
                                          "definite"
                                        ]
                                      },
                                      "start_weekday": {
                                        "type": "string",
                                        "description": "Day of week in which the match starts.",
                                        "example": "wednesday"
                                      },
                                      "event_status": {
                                        "type": "string",
                                        "description": "State of the match.\n\n| value         | description                     |\n|:--------------|:--------------------------------|\n| `pre-event`   | upcoming match                  |\n| `post-event`  | past match                      |\n| `mid-event`   | running match                   |\n| `halted`      | match aborted                   |\n| `canceled`    | match was canceled              |\n| `forfeited`   | match was decided off the field |\n| `postponed`   | match was postponed             |\n| `rescheduled` | match was given a new date      |\n| `delayed`     | match started later             |\n",
                                        "enum": [
                                          "pre-event",
                                          "post-event",
                                          "mid-event",
                                          "halted",
                                          "canceled",
                                          "forfeited",
                                          "postponed",
                                          "rescheduled",
                                          "delayed"
                                        ]
                                      },
                                      "group": {
                                        "allOf": [
                                          {
                                            "type": "object",
                                            "properties": {
                                              "id": {
                                                "type": "integer",
                                                "description": "ID of group.",
                                                "example": 6
                                              },
                                              "name": {
                                                "type": "string",
                                                "description": "Name of group.",
                                                "example": "Gruppe F"
                                              }
                                            }
                                          },
                                          {
                                            "description": "Group the match is placed in."
                                          }
                                        ]
                                      },
                                      "site": {
                                        "allOf": [
                                          {
                                            "type": "object",
                                            "properties": {
                                              "id": {
                                                "type": "integer",
                                                "description": "ID of location.",
                                                "example": 45
                                              },
                                              "name": {
                                                "type": "string",
                                                "description": "Name of the location.",
                                                "example": "Red Bull Arena"
                                              },
                                              "built": {
                                                "type": "integer",
                                                "description": "Year when the venue was built.",
                                                "example": 2004
                                              },
                                              "roof": {
                                                "type": "boolean",
                                                "description": "True when venue has a roof."
                                              },
                                              "seats": {
                                                "type": "integer",
                                                "description": "Number of seats/capacity.",
                                                "example": 42959
                                              },
                                              "surface": {
                                                "type": "string",
                                                "description": "Surface of the stadium.",
                                                "enum": [
                                                  "artificial_turf",
                                                  "turf"
                                                ],
                                                "example": "turf"
                                              },
                                              "url": {
                                                "type": "string",
                                                "description": "URL to the website of the venue.",
                                                "example": "www.sportforum-leipzig.com"
                                              },
                                              "city": {
                                                "type": "string",
                                                "description": "City of the venue.",
                                                "example": "Leipzig"
                                              },
                                              "postal_code": {
                                                "type": "string",
                                                "description": "Postal code of the location.",
                                                "example": "04105"
                                              },
                                              "street": {
                                                "type": "string",
                                                "description": "Street of the location.",
                                                "example": "Am Sportforum, 3"
                                              },
                                              "lat": {
                                                "type": "number",
                                                "format": "float",
                                                "description": "Latitude of the location."
                                              },
                                              "lng": {
                                                "type": "number",
                                                "format": "float",
                                                "description": "Longitude of the location."
                                              },
                                              "pitch": {
                                                "type": "object",
                                                "description": "Size of the pitch.",
                                                "properties": {
                                                  "x": {
                                                    "type": "integer",
                                                    "description": "Length of the pitch.",
                                                    "example": 105
                                                  },
                                                  "y": {
                                                    "type": "integer",
                                                    "description": "Width of the pitch.",
                                                    "example": 68
                                                  }
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "description": "Location where the match will happen."
                                          }
                                        ]
                                      },
                                      "teams": {
                                        "type": "array",
                                        "description": "List of teams for this match.",
                                        "items": {
                                          "type": "object",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "description": "ID of the team.",
                                              "example": 1401830
                                            },
                                            "name": {
                                              "type": "string",
                                              "description": "Name of the team.",
                                              "example": "SV Eintracht Trier 05"
                                            },
                                            "nickname": {
                                              "type": "string",
                                              "description": "Nickname of the team."
                                            },
                                            "handle": {
                                              "type": "string",
                                              "description": "Handle of the team."
                                            },
                                            "lineup_complete": {
                                              "type": "string",
                                              "description": "True when lineup is completed."
                                            },
                                            "alignment": {
                                              "type": "string",
                                              "description": "Alignment of the team.",
                                              "enum": [
                                                "away",
                                                "home"
                                              ]
                                            },
                                            "score": {
                                              "allOf": [
                                                {
                                                  "type": "object",
                                                  "properties": {
                                                    "final": {
                                                      "description": "Final score of the match.",
                                                      "type": "integer"
                                                    },
                                                    "period_1": {
                                                      "description": "Score in the first period.",
                                                      "type": "integer"
                                                    },
                                                    "period_2": {
                                                      "description": "Score in the second period.",
                                                      "type": "integer"
                                                    },
                                                    "period_3": {
                                                      "description": "Score in the first period of overtime.",
                                                      "type": "integer"
                                                    },
                                                    "period_4": {
                                                      "description": "Score in the second period of overtime.",
                                                      "type": "integer"
                                                    },
                                                    "period_5": {
                                                      "description": "Score in the penalty shootout.",
                                                      "type": "integer"
                                                    }
                                                  }
                                                },
                                                {
                                                  "description": "Score of this team in this match."
                                                }
                                              ]
                                            },
                                            "club": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "description": "ID of the club. This **SHALL NOT** change for a club.",
                                                  "example": 81
                                                },
                                                "link": {
                                                  "type": "string",
                                                  "description": "API-URL to this club."
                                                },
                                                "emblem": {
                                                  "type": "object",
                                                  "description": "The club emblem in different resolutions.",
                                                  "properties": {
                                                    "medium": {
                                                      "type": "string",
                                                      "description": "URL to the image in medium resolution (300x300>)."
                                                    },
                                                    "mini": {
                                                      "type": "string",
                                                      "description": "URL to the image in mini resolution (36x36>)."
                                                    },
                                                    "small": {
                                                      "type": "string",
                                                      "description": "URL to the image in mini resolution (70x70>)."
                                                    }
                                                  }
                                                }
                                              }
                                            },
                                            "liveticker": {
                                              "type": "object",
                                              "description": "Informations about the liveticker.",
                                              "properties": {
                                                "comments_available": {
                                                  "type": "boolean",
                                                  "description": "True when liveticker comments are available."
                                                }
                                              }
                                            },
                                            "matchday": {
                                              "type": "object",
                                              "description": "Informations about the matchday.",
                                              "properties": {
                                                "available": {
                                                  "type": "boolean",
                                                  "description": "True when matchday is available."
                                                },
                                                "live": {
                                                  "type": "boolean",
                                                  "description": "True when matchday is currently live."
                                                },
                                                "link": {
                                                  "type": "string",
                                                  "description": "API URL to the matchday."
                                                }
                                              }
                                            }
                                          }
                                        }
                                      },
                                      "video_id": {
                                        "type": "integer",
                                        "description": "This match's associated video ID, if existent."
                                      },
                                      "match_name": {
                                        "type": "string",
                                        "description": "optional name of the match."
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/teams": {
      "get": {
        "tags": [
          "Team"
        ],
        "summary": "Teams",
        "description": "Returns list of teams that are participate in the season.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "description": "List of teams.",
                  "items": {
                    "type": "object",
                    "description": "A team",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the team.",
                        "example": 1401830
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the team.",
                        "example": "Hamburger SV"
                      },
                      "link": {
                        "type": "string",
                        "description": "API URL to team."
                      },
                      "colors": {
                        "type": "object",
                        "description": "Team colors",
                        "properties": {
                          "one": {
                            "type": "string",
                            "description": "Primary color in hexadecimal format",
                            "example": "#0000CC"
                          },
                          "two": {
                            "type": "string",
                            "description": "Secondary Color in hexadecimal format",
                            "example": "#FFFFFF"
                          }
                        }
                      },
                      "club": {
                        "type": "object",
                        "description": "The Club this team blongs to.",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the club",
                            "example": 193
                          },
                          "link": {
                            "type": "string",
                            "description": "API URL to club"
                          },
                          "emblem": {
                            "type": "object",
                            "description": "The club emblem in different resolutions.",
                            "properties": {
                              "medium": {
                                "type": "string",
                                "description": "URL to the image in medium resolution (300x300)."
                              },
                              "mini": {
                                "type": "string",
                                "description": "URL to the image in mini resolution (36x36)."
                              },
                              "small": {
                                "type": "string",
                                "description": "URL to the image in mini resolution (70x70)."
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/teams/{id}": {
      "get": {
        "tags": [
          "Team"
        ],
        "summary": "Team",
        "description": "Returns the team that is participating in the season.\n\nYou could also fetch the team in iCalendar format if you set `Accept: text/calendar` or use the `.ics` extension.\n",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the team."
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "type": "string",
            "format": "date-time",
            "description": "This makes the request conditional - the server will send back the requested resource, with a `200` status, only if it has been last modified after the given date.\nIf the request has not been modified since, the response will be a `304` without any body; the `Last-Modified` header will contain the date of last modification.\n\n*You **MUST** set this header, if you can, to respect API caching.*\n"
          },
          {
            "name": "locale",
            "in": "query",
            "type": "string",
            "description": "It returns only items for that locale. Additionally, as side effect the response will be in that locale.\n\n**NOTE:** The locale must be whitelisted for your club! If not the locale for the `auth_token` will be used as default.\n\n\n| Filter Items | Set locale |\n| :----------- | :--------- |\n| ✅           | ✅         |\n",
            "enum": [
              "de-DE",
              "en-GB",
              "nl-NL"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time",
                "description": "Contains the date and time at which the resource was last modified.\n\n*You **MUST** use this value in `If-Modified-Since` request header to respect API caching.*\n"
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "type": "object",
                      "description": "A team",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the team.",
                          "example": 1401830
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the team.",
                          "example": "Hamburger SV"
                        },
                        "link": {
                          "type": "string",
                          "description": "API URL to team."
                        },
                        "colors": {
                          "type": "object",
                          "description": "Team colors",
                          "properties": {
                            "one": {
                              "type": "string",
                              "description": "Primary color in hexadecimal format",
                              "example": "#0000CC"
                            },
                            "two": {
                              "type": "string",
                              "description": "Secondary Color in hexadecimal format",
                              "example": "#FFFFFF"
                            }
                          }
                        },
                        "club": {
                          "type": "object",
                          "description": "The Club this team blongs to.",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID of the club",
                              "example": 193
                            },
                            "link": {
                              "type": "string",
                              "description": "API URL to club"
                            },
                            "emblem": {
                              "type": "object",
                              "description": "The club emblem in different resolutions.",
                              "properties": {
                                "medium": {
                                  "type": "string",
                                  "description": "URL to the image in medium resolution (300x300)."
                                },
                                "mini": {
                                  "type": "string",
                                  "description": "URL to the image in mini resolution (36x36)."
                                },
                                "small": {
                                  "type": "string",
                                  "description": "URL to the image in mini resolution (70x70)."
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "players": {
                          "type": "array",
                          "items": {
                            "allOf": [
                              {
                                "type": "object",
                                "description": "A player in a team.",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "format": "int32",
                                    "description": "ID of the player",
                                    "example": 128453
                                  },
                                  "opta_id": {
                                    "type": "string",
                                    "description": "Opta ID of the player"
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of the player."
                                  },
                                  "lastname": {
                                    "type": "string",
                                    "description": "Lastname of the player."
                                  },
                                  "firstname": {
                                    "type": "string",
                                    "description": "Firstname of the player."
                                  },
                                  "nickname": {
                                    "type": "string",
                                    "description": "Nickname of the player."
                                  },
                                  "date_of_birth": {
                                    "type": "string",
                                    "description": "Date of birth of the player.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                                    "example": "1992-10-21"
                                  },
                                  "native_country": {
                                    "type": "string",
                                    "description": "The name of the country the player originated from.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                                  },
                                  "portrait_image_url": {
                                    "type": "string",
                                    "description": "URL to the portrait image of the player"
                                  },
                                  "portrait_image": {
                                    "type": "object",
                                    "description": "The portrait image in different resolutions.",
                                    "properties": {
                                      "original": {
                                        "type": "string",
                                        "description": "URL to the portrait image in original resolution."
                                      },
                                      "medium": {
                                        "type": "string",
                                        "description": "URL to the portrait image in medium resolution (300x300)."
                                      },
                                      "small": {
                                        "type": "string",
                                        "description": "URL to the portrait image in small resolution (100x100)."
                                      },
                                      "mini": {
                                        "type": "string",
                                        "description": "URL to the portrait image in mini resolution (30x30)."
                                      }
                                    }
                                  },
                                  "height": {
                                    "type": "integer",
                                    "description": "The players height in cm."
                                  },
                                  "weight": {
                                    "type": "integer",
                                    "description": "The players weight in kg."
                                  },
                                  "nationality": {
                                    "type": "string",
                                    "description": "The players nationality.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                                  },
                                  "uniform_number": {
                                    "type": "integer",
                                    "description": "Number on uniform of the player."
                                  },
                                  "position_regular": {
                                    "type": "string",
                                    "description": "Position the player plays in this match.",
                                    "enum": [
                                      "goalie",
                                      "defenseman",
                                      "mid-fielder",
                                      "forward",
                                      "wing-back",
                                      "full-back",
                                      "central-defenseman",
                                      "defensing-mid-fielder",
                                      "attacking-mid-fielder",
                                      "central-mid-fielder",
                                      "winger",
                                      "striker",
                                      "second-striker",
                                      "left",
                                      "right",
                                      "center",
                                      "left-center",
                                      "center-right",
                                      "left-center-right",
                                      "left-right"
                                    ]
                                  },
                                  "goals": {
                                    "type": "integer",
                                    "description": "Number of goals the player scored in during his / her career."
                                  },
                                  "assists": {
                                    "type": "integer",
                                    "description": "Number of assists for the player during the season."
                                  },
                                  "yellow_cards": {
                                    "type": "integer",
                                    "description": "Number of yellow cards the player received during the season."
                                  },
                                  "yellow_red_cards": {
                                    "type": "integer",
                                    "description": "Number of indirect red cards (second yellow cards) the player received during the season."
                                  },
                                  "red_cards": {
                                    "type": "integer",
                                    "description": "Number of red cards the player received during the season."
                                  },
                                  "minutes_played": {
                                    "type": "integer",
                                    "description": "Number of minutes the player was on the pitch during the season."
                                  },
                                  "substitutions_in": {
                                    "type": "integer",
                                    "description": "Number of times the player was brought on the pitch during the season."
                                  },
                                  "substitutions_out": {
                                    "type": "integer",
                                    "description": "Number of times the player was token off the pitch during the season."
                                  },
                                  "matches_played": {
                                    "type": "integer",
                                    "description": "Number of matches the player has participated in during this season."
                                  },
                                  "career_goals": {
                                    "type": "integer",
                                    "description": "Number of goals the player scored in during his / her career."
                                  },
                                  "career_matches_played": {
                                    "type": "integer",
                                    "description": "Number of matches the player has participated in during his / her career."
                                  },
                                  "bio": {
                                    "type": "string",
                                    "description": "Biography of the player."
                                  },
                                  "join_date": {
                                    "type": "string",
                                    "description": "The Date the player joined the club.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                                    "example": "2015-07-30"
                                  },
                                  "native_country_flag": {
                                    "type": "string",
                                    "description": "URL to flag of the country the player originated from."
                                  },
                                  "nationality_country_flag": {
                                    "type": "string",
                                    "description": "URL to flag of the country that matched the players nationality."
                                  },
                                  "loan": {
                                    "type": "boolean",
                                    "description": "Indicates whether the player is lent or not."
                                  },
                                  "external_shop_url": {
                                    "type": "string",
                                    "description": "URL to extenral shop."
                                  },
                                  "signature_card_front_image": {
                                    "type": "string",
                                    "description": "URL to image of autograph card."
                                  },
                                  "signature_card_back_image": {
                                    "type": "string",
                                    "description": "URL to image of reverse of autograph card."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "short_video_url": {
                                    "type": "string",
                                    "description": "URL to short video of the player.\n\n**Note**: This field is only present if a video has been added to the player in the application.\n"
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "officials": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": "A club official.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "format": "int32",
                                "description": "ID of the official",
                                "example": 31238
                              },
                              "lastname": {
                                "type": "string",
                                "description": "Lastname of the official"
                              },
                              "firstname": {
                                "type": "string",
                                "description": "Firstname of the official"
                              },
                              "position": {
                                "type": "string",
                                "description": "The position the official has inside the team",
                                "enum": [
                                  "2nd-chairman",
                                  "academy-director",
                                  "assistant-manager",
                                  "assistant-team-director",
                                  "athletic-trainer",
                                  "board-director",
                                  "board-director,-sport",
                                  "chairman",
                                  "chief-of-professional-football",
                                  "consultant",
                                  "coordination-trainer",
                                  "director",
                                  "director-advisory-board",
                                  "director-deputy-head-of-board",
                                  "director-of-sport",
                                  "director-supervisory-board",
                                  "director-team",
                                  "director, administrative",
                                  "event-manager",
                                  "fans-coordinator",
                                  "finances",
                                  "fitness-trainer",
                                  "goalkeeper-trainer",
                                  "head-of-board-of-directors",
                                  "head-of-football",
                                  "head-of-organisation",
                                  "head-of-professional-sports",
                                  "head-of-sports",
                                  "internist--head-of-amateur-football",
                                  "kit-manager",
                                  "manager",
                                  "marketing",
                                  "masseur",
                                  "member-of-shareholders-board",
                                  "mental-coach",
                                  "merchandising",
                                  "office-direction",
                                  "organisation-and-technica",
                                  "osteopath",
                                  "other-official",
                                  "physio",
                                  "player-organiser",
                                  "president",
                                  "press-relations",
                                  "rehab-trainer",
                                  "reserve_manager",
                                  "scout",
                                  "shareholders-board-director",
                                  "sports-manager",
                                  "supervisory-board",
                                  "team-doctor",
                                  "team-manager",
                                  "vice-president"
                                ]
                              },
                              "join_date": {
                                "type": "string",
                                "description": "The Date the official joined the club.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                                "example": "2012-02-15"
                              },
                              "date_of_birth": {
                                "type": "string",
                                "description": "Date of birth of the player.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                                "example": "1969-08-17"
                              },
                              "portrait_image_url": {
                                "type": "string",
                                "description": "URL to the portrait image of the official"
                              },
                              "birthplace": {
                                "type": "string",
                                "description": "The place the official was born in."
                              },
                              "nationality": {
                                "type": "string",
                                "description": "The officials nationality.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                              },
                              "signature_card_front_image": {
                                "type": "string",
                                "description": "URL to image of autograph card."
                              },
                              "signature_card_back_image": {
                                "type": "string",
                                "description": "URL to image of reverse of autograph card."
                              },
                              "bio": {
                                "type": "string",
                                "description": "Biography of the official."
                              },
                              "external_shop_url": {
                                "type": "string",
                                "description": "URL to external shop."
                              },
                              "first_name_overwrite": {
                                "type": "string",
                                "description": "Firstname overwrite of the official."
                              },
                              "last_name_overwrite": {
                                "type": "string",
                                "description": "Lastname overwrite of the official."
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "304": {
            "description": "Not Modified"
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    },
    "/tournaments/{tournament_id}/seasons/{season_id}/teams/{team_id}/players/{id}": {
      "put": {
        "tags": [
          "Player"
        ],
        "summary": "Player",
        "description": "Update a player.",
        "parameters": [
          {
            "name": "tournament_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the tournament."
          },
          {
            "name": "season_id",
            "required": true,
            "in": "path",
            "type": "integer",
            "description": "ID of the season."
          },
          {
            "name": "team_id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the team."
          },
          {
            "name": "id",
            "in": "path",
            "type": "integer",
            "required": true,
            "description": "ID of the player."
          },
          {
            "name": "player",
            "in": "body",
            "required": true,
            "description": "Player data to update",
            "schema": {
              "type": "object",
              "properties": {
                "player": {
                  "type": "object",
                  "description": "A player in this team.",
                  "properties": {
                    "bio": {
                      "type": "string",
                      "description": "Biography of the player."
                    },
                    "external_shop_url": {
                      "type": "string",
                      "description": "URL to extenral shop."
                    },
                    "portrait_source_url": {
                      "type": "string",
                      "description": "URL to portrait image. It will be downloaded and added to the player."
                    },
                    "signature_card_front_source_url": {
                      "type": "string",
                      "description": "URL to image of autograph card. It will be downloaded and added to the player."
                    },
                    "signature_card_back_source_url": {
                      "type": "string",
                      "description": "URL to image of reverse of autograph card. It will be downloaded and added to the player."
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "description": "A player in a team.",
              "properties": {
                "id": {
                  "type": "integer",
                  "format": "int32",
                  "description": "ID of the player",
                  "example": 128453
                },
                "opta_id": {
                  "type": "string",
                  "description": "Opta ID of the player"
                },
                "name": {
                  "type": "string",
                  "description": "Name of the player."
                },
                "lastname": {
                  "type": "string",
                  "description": "Lastname of the player."
                },
                "firstname": {
                  "type": "string",
                  "description": "Firstname of the player."
                },
                "nickname": {
                  "type": "string",
                  "description": "Nickname of the player."
                },
                "date_of_birth": {
                  "type": "string",
                  "description": "Date of birth of the player.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                  "example": "1992-10-21"
                },
                "native_country": {
                  "type": "string",
                  "description": "The name of the country the player originated from.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                },
                "portrait_image_url": {
                  "type": "string",
                  "description": "URL to the portrait image of the player"
                },
                "portrait_image": {
                  "type": "object",
                  "description": "The portrait image in different resolutions.",
                  "properties": {
                    "original": {
                      "type": "string",
                      "description": "URL to the portrait image in original resolution."
                    },
                    "medium": {
                      "type": "string",
                      "description": "URL to the portrait image in medium resolution (300x300)."
                    },
                    "small": {
                      "type": "string",
                      "description": "URL to the portrait image in small resolution (100x100)."
                    },
                    "mini": {
                      "type": "string",
                      "description": "URL to the portrait image in mini resolution (30x30)."
                    }
                  }
                },
                "height": {
                  "type": "integer",
                  "description": "The players height in cm."
                },
                "weight": {
                  "type": "integer",
                  "description": "The players weight in kg."
                },
                "nationality": {
                  "type": "string",
                  "description": "The players nationality.\n\n**NOTE**: the info will always be in the locale which is provide\n"
                },
                "uniform_number": {
                  "type": "integer",
                  "description": "Number on uniform of the player."
                },
                "position_regular": {
                  "type": "string",
                  "description": "Position the player plays in this match.",
                  "enum": [
                    "goalie",
                    "defenseman",
                    "mid-fielder",
                    "forward",
                    "wing-back",
                    "full-back",
                    "central-defenseman",
                    "defensing-mid-fielder",
                    "attacking-mid-fielder",
                    "central-mid-fielder",
                    "winger",
                    "striker",
                    "second-striker",
                    "left",
                    "right",
                    "center",
                    "left-center",
                    "center-right",
                    "left-center-right",
                    "left-right"
                  ]
                },
                "goals": {
                  "type": "integer",
                  "description": "Number of goals the player scored in during his / her career."
                },
                "assists": {
                  "type": "integer",
                  "description": "Number of assists for the player during the season."
                },
                "yellow_cards": {
                  "type": "integer",
                  "description": "Number of yellow cards the player received during the season."
                },
                "yellow_red_cards": {
                  "type": "integer",
                  "description": "Number of indirect red cards (second yellow cards) the player received during the season."
                },
                "red_cards": {
                  "type": "integer",
                  "description": "Number of red cards the player received during the season."
                },
                "minutes_played": {
                  "type": "integer",
                  "description": "Number of minutes the player was on the pitch during the season."
                },
                "substitutions_in": {
                  "type": "integer",
                  "description": "Number of times the player was brought on the pitch during the season."
                },
                "substitutions_out": {
                  "type": "integer",
                  "description": "Number of times the player was token off the pitch during the season."
                },
                "matches_played": {
                  "type": "integer",
                  "description": "Number of matches the player has participated in during this season."
                },
                "career_goals": {
                  "type": "integer",
                  "description": "Number of goals the player scored in during his / her career."
                },
                "career_matches_played": {
                  "type": "integer",
                  "description": "Number of matches the player has participated in during his / her career."
                },
                "bio": {
                  "type": "string",
                  "description": "Biography of the player."
                },
                "join_date": {
                  "type": "string",
                  "description": "The Date the player joined the club.\n\nFormat: `yyyy-mm-dd` (ISO 8601)\n",
                  "example": "2015-07-30"
                },
                "native_country_flag": {
                  "type": "string",
                  "description": "URL to flag of the country the player originated from."
                },
                "nationality_country_flag": {
                  "type": "string",
                  "description": "URL to flag of the country that matched the players nationality."
                },
                "loan": {
                  "type": "boolean",
                  "description": "Indicates whether the player is lent or not."
                },
                "external_shop_url": {
                  "type": "string",
                  "description": "URL to extenral shop."
                },
                "signature_card_front_image": {
                  "type": "string",
                  "description": "URL to image of autograph card."
                },
                "signature_card_back_image": {
                  "type": "string",
                  "description": "URL to image of reverse of autograph card."
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Required parameter missing."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Sie müssen sich anmelden, bevor Sie fortfahren können."
                }
              },
              "required": [
                "error"
              ]
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not Found"
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      }
    }
  },
  "definitions": {
    "Activity": {
      "type": "object",
      "properties": {
        "external_id": {
          "type": "string",
          "description": "External ID of the activity.",
          "example": "42"
        },
        "external_url": {
          "type": "string",
          "description": "External URL of the activity.",
          "example": "https://www.facebook.com/DouglasSantosDS6OFICIAL/photos/a.177194459096974.1073741828.177157089100711/797601193722961/?type=3"
        },
        "type": {
          "type": "string",
          "description": "Type of the activity.",
          "example": "facebook_post",
          "enum": [
            "card_event",
            "comment_event",
            "facebook_post",
            "goal_event",
            "graph_instagram_post",
            "lineup_complete_event",
            "news_item",
            "stats",
            "match",
            "friendly_match",
            "substitution_event",
            "team_lineup_complete_event",
            "timetable_action_event",
            "var_decision_event",
            "tweet",
            "tweet_v2",
            "video",
            "youtube_video"
          ]
        },
        "source": {
          "type": "object",
          "description": "Original **raw** object. This could be an *external* object.\nYou **SHOULD** use this object carefully, because external systems could change the structure.\n",
          "additionalProperties": {
            "type": "string"
          }
        },
        "image": {
          "type": "object",
          "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
          "properties": {
            "medium": {
              "type": "object",
              "description": "Image with max size of 640 x 640 pixels.",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          }
        },
        "image_url": {
          "type": "string",
          "description": "URL to the activity image."
        },
        "image_width": {
          "type": "integer",
          "description": "Width in pixels of the activity image.",
          "example": 800
        },
        "image_height": {
          "type": "integer",
          "description": "Height in pixels of the activity image.",
          "example": 600
        },
        "profile_image_url": {
          "type": "string",
          "description": "URL to an image of the user which is assocated to this activity."
        },
        "video_url": {
          "type": "string",
          "description": "URL to a video if the activity source contains one."
        },
        "published_at": {
          "type": "string",
          "description": "Publishing date of the activity. This **COULD** be use to paginate by the `until` parameter."
        },
        "account": {
          "type": "object",
          "description": "Account which is associated with the source.",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the account.",
              "example": "HSV"
            },
            "id": {
              "type": "integer",
              "description": "ID of the account.",
              "example": 761841
            },
            "group_id": {
              "type": "integer",
              "description": "Group ID which the account is accociated with.",
              "example": 757
            },
            "username": {
              "type": "string",
              "description": "Username of the account.",
              "example": "HSV"
            }
          }
        },
        "minutes_elapsed": {
          "type": "integer",
          "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n"
        },
        "injury_minutes_elapsed": {
          "type": "integer",
          "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
        }
      }
    },
    "AttendanceFigureCommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "enum": [
                "attendance_figure_comment_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the comment."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if this event was sent as notification."
                },
                "commenting_club_id": {
                  "type": "integer",
                  "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                }
              }
            },
            {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "integer",
                      "description": "Figure of the attendances."
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "AttendanceFigureCommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Attendance figure comment activity.",
              "enum": [
                "attendance_figure_comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                },
                {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "integer",
                          "description": "Figure of the attendances."
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    },
    "AttendanceFigureEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "enum": [
                "attendance_figure_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "value": {
                  "type": "integer",
                  "description": "Figure of the attendances."
                }
              }
            }
          ]
        }
      ]
    },
    "AttendanceFigureEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Attendance figure activity.",
              "enum": [
                "attendance_figure_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "integer",
                      "description": "Figure of the attendances."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "Calendar": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "ID of the calendar.",
          "example": "42"
        },
        "title": {
          "type": "string",
          "description": "Display title of the calendar.",
          "example": "BVB Kalender"
        },
        "timezone": {
          "type": "string",
          "description": "Timezone of the calendar.",
          "example": "Europe/Berlin"
        },
        "locale": {
          "type": "string",
          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
          "example": "de-DE",
          "pattern": "[a-z]{2}-[A-Z]{2}"
        },
        "events": {
          "type": "array",
          "description": "Events in the calendar.",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "description": "Title of the event.",
                "example": "Borussia Dortmund - Bayern München"
              },
              "uid": {
                "type": "string",
                "description": "iCalendar conform UID.",
                "example": "0af1d91b227c6ae77e42e558443cb60e@bvb.de"
              },
              "starts_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time which the event starts.",
                "example": "2016-08-14T18:30:00Z"
              },
              "ends_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time which the event ends.",
                "example": "2016-08-14T20:30:00Z"
              },
              "description": {
                "type": "string",
                "description": "Description of the event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
              },
              "location": {
                "type": "string",
                "description": "Location of the event."
              },
              "geo": {
                "type": "string",
                "description": "Comma separated coordinates of the event location."
              },
              "categories": {
                "type": "array",
                "description": "Categories of the event.",
                "items": {
                  "type": "string"
                },
                "example": [
                  "Spiel",
                  "pro match"
                ]
              },
              "day_long": {
                "type": "boolean",
                "description": "True if the event is day long."
              }
            }
          }
        }
      }
    },
    "CardCommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "enum": [
                "card_comment_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the comment."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if this event was sent as notification."
                },
                "commenting_club_id": {
                  "type": "integer",
                  "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                }
              }
            },
            {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "club_id": {
                      "type": "integer",
                      "description": "ID of the club."
                    },
                    "recipient_type": {
                      "type": "string",
                      "description": "Role of the recipient. (player, manager etc.)"
                    },
                    "recipient_id": {
                      "type": "integer",
                      "description": "ID of the recipient."
                    },
                    "type": {
                      "type": "string",
                      "description": "| value          | description     |\n|:---------------|:----------------|\n| `yellow-card`    | yellow card     |\n| `red-card`       | red card        |\n| `yellowred-card` | yellow red card |\n",
                      "enum": [
                        "yellow-card",
                        "red-card",
                        "yellowred-card"
                      ]
                    },
                    "reason": {
                      "type": "string",
                      "description": "| value                              | description                                    |\n|:-----------------------------------|:-----------------------------------------------|\n| `roughing`                         | assaulting another person                      |\n| `foul`                             | foul play                                      |\n| `professional foul`                | tactical foul play                             |\n| `insulting language`               | groughing                                      |\n| `delay of game`                    | tactical game delay                            |\n| `handball`                         | tactical handball                              |\n| `injured player on the field`      | injured player on the field                    |\n| `dive`                             | baffeled foul                                  |\n| `jubilance`                        | jubilance                                      |\n| `not properly checked in the game` | no or invalid permission to play               |\n| `distance to the wall`             | insufficient distance to wall during free kick |\n| `bad sportsmanship`                | bad sportsmanship                              |\n| `touching (ed) the referee`        | touching the referee                           |\n| `other`                            | other breaches of a rule                       |\n",
                      "enum": [
                        "roughing",
                        "foul",
                        "professional foul",
                        "insulting language",
                        "delay of game",
                        "handball",
                        "injured player on the field",
                        "dive",
                        "jubilance",
                        "not properly checked in the game",
                        "distance to the wall",
                        "bad sportsmanship",
                        "touching (ed) the referee",
                        "other"
                      ]
                    },
                    "player_firstname": {
                      "type": "string",
                      "description": "Firstname of the player who received the card."
                    },
                    "player_lastname": {
                      "type": "string",
                      "description": "Lastname of the player who received the card."
                    },
                    "player_nickname": {
                      "type": "string",
                      "description": "Nickname of the player who received the card."
                    },
                    "player_uniform_number": {
                      "type": "integer",
                      "description": "Uniform number of the person who received the card."
                    },
                    "player_position_regular": {
                      "type": "string",
                      "description": "Position the booked person plays regularly."
                    },
                    "player_image_url": {
                      "type": "string",
                      "description": "URL to the portrait image of the official"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "home_club_id": {
                      "type": "integer",
                      "description": "ID of home club."
                    },
                    "away_club_id": {
                      "type": "integer",
                      "description": "ID of away club."
                    },
                    "home_team_id": {
                      "type": "integer",
                      "description": "ID of home team."
                    },
                    "away_team_id": {
                      "type": "integer",
                      "description": "ID of away team."
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "CardCommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Card comment event activity.",
              "enum": [
                "card_comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                },
                {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "club_id": {
                          "type": "integer",
                          "description": "ID of the club."
                        },
                        "recipient_type": {
                          "type": "string",
                          "description": "Role of the recipient. (player, manager etc.)"
                        },
                        "recipient_id": {
                          "type": "integer",
                          "description": "ID of the recipient."
                        },
                        "type": {
                          "type": "string",
                          "description": "| value          | description     |\n|:---------------|:----------------|\n| `yellow-card`    | yellow card     |\n| `red-card`       | red card        |\n| `yellowred-card` | yellow red card |\n",
                          "enum": [
                            "yellow-card",
                            "red-card",
                            "yellowred-card"
                          ]
                        },
                        "reason": {
                          "type": "string",
                          "description": "| value                              | description                                    |\n|:-----------------------------------|:-----------------------------------------------|\n| `roughing`                         | assaulting another person                      |\n| `foul`                             | foul play                                      |\n| `professional foul`                | tactical foul play                             |\n| `insulting language`               | groughing                                      |\n| `delay of game`                    | tactical game delay                            |\n| `handball`                         | tactical handball                              |\n| `injured player on the field`      | injured player on the field                    |\n| `dive`                             | baffeled foul                                  |\n| `jubilance`                        | jubilance                                      |\n| `not properly checked in the game` | no or invalid permission to play               |\n| `distance to the wall`             | insufficient distance to wall during free kick |\n| `bad sportsmanship`                | bad sportsmanship                              |\n| `touching (ed) the referee`        | touching the referee                           |\n| `other`                            | other breaches of a rule                       |\n",
                          "enum": [
                            "roughing",
                            "foul",
                            "professional foul",
                            "insulting language",
                            "delay of game",
                            "handball",
                            "injured player on the field",
                            "dive",
                            "jubilance",
                            "not properly checked in the game",
                            "distance to the wall",
                            "bad sportsmanship",
                            "touching (ed) the referee",
                            "other"
                          ]
                        },
                        "player_firstname": {
                          "type": "string",
                          "description": "Firstname of the player who received the card."
                        },
                        "player_lastname": {
                          "type": "string",
                          "description": "Lastname of the player who received the card."
                        },
                        "player_nickname": {
                          "type": "string",
                          "description": "Nickname of the player who received the card."
                        },
                        "player_uniform_number": {
                          "type": "integer",
                          "description": "Uniform number of the person who received the card."
                        },
                        "player_position_regular": {
                          "type": "string",
                          "description": "Position the booked person plays regularly."
                        },
                        "player_image_url": {
                          "type": "string",
                          "description": "URL to the portrait image of the official"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "period": {
                          "type": "integer",
                          "description": "Period in which the event happend."
                        },
                        "minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match."
                        },
                        "period_minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match period."
                        },
                        "injury_time_elapsed": {
                          "type": "integer",
                          "description": "Elapsed injury time in minutes."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "home_club_id": {
                          "type": "integer",
                          "description": "ID of home club."
                        },
                        "away_club_id": {
                          "type": "integer",
                          "description": "ID of away club."
                        },
                        "home_team_id": {
                          "type": "integer",
                          "description": "ID of home team."
                        },
                        "away_team_id": {
                          "type": "integer",
                          "description": "ID of away team."
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    },
    "CardEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "enum": [
                "card_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "club_id": {
                  "type": "integer",
                  "description": "ID of the club."
                },
                "recipient_type": {
                  "type": "string",
                  "description": "Role of the recipient. (player, manager etc.)"
                },
                "recipient_id": {
                  "type": "integer",
                  "description": "ID of the recipient."
                },
                "type": {
                  "type": "string",
                  "description": "| value          | description     |\n|:---------------|:----------------|\n| `yellow-card`    | yellow card     |\n| `red-card`       | red card        |\n| `yellowred-card` | yellow red card |\n",
                  "enum": [
                    "yellow-card",
                    "red-card",
                    "yellowred-card"
                  ]
                },
                "reason": {
                  "type": "string",
                  "description": "| value                              | description                                    |\n|:-----------------------------------|:-----------------------------------------------|\n| `roughing`                         | assaulting another person                      |\n| `foul`                             | foul play                                      |\n| `professional foul`                | tactical foul play                             |\n| `insulting language`               | groughing                                      |\n| `delay of game`                    | tactical game delay                            |\n| `handball`                         | tactical handball                              |\n| `injured player on the field`      | injured player on the field                    |\n| `dive`                             | baffeled foul                                  |\n| `jubilance`                        | jubilance                                      |\n| `not properly checked in the game` | no or invalid permission to play               |\n| `distance to the wall`             | insufficient distance to wall during free kick |\n| `bad sportsmanship`                | bad sportsmanship                              |\n| `touching (ed) the referee`        | touching the referee                           |\n| `other`                            | other breaches of a rule                       |\n",
                  "enum": [
                    "roughing",
                    "foul",
                    "professional foul",
                    "insulting language",
                    "delay of game",
                    "handball",
                    "injured player on the field",
                    "dive",
                    "jubilance",
                    "not properly checked in the game",
                    "distance to the wall",
                    "bad sportsmanship",
                    "touching (ed) the referee",
                    "other"
                  ]
                },
                "player_firstname": {
                  "type": "string",
                  "description": "Firstname of the player who received the card."
                },
                "player_lastname": {
                  "type": "string",
                  "description": "Lastname of the player who received the card."
                },
                "player_nickname": {
                  "type": "string",
                  "description": "Nickname of the player who received the card."
                },
                "player_uniform_number": {
                  "type": "integer",
                  "description": "Uniform number of the person who received the card."
                },
                "player_position_regular": {
                  "type": "string",
                  "description": "Position the booked person plays regularly."
                },
                "player_image_url": {
                  "type": "string",
                  "description": "URL to the portrait image of the official"
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "period": {
                  "type": "integer",
                  "description": "Period in which the event happend."
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match."
                },
                "period_minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match period."
                },
                "injury_time_elapsed": {
                  "type": "integer",
                  "description": "Elapsed injury time in minutes."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "home_club_id": {
                  "type": "integer",
                  "description": "ID of home club."
                },
                "away_club_id": {
                  "type": "integer",
                  "description": "ID of away club."
                },
                "home_team_id": {
                  "type": "integer",
                  "description": "ID of home team."
                },
                "away_team_id": {
                  "type": "integer",
                  "description": "ID of away team."
                }
              }
            }
          ]
        }
      ]
    },
    "CardEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Card event activity.",
              "enum": [
                "card_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "club_id": {
                      "type": "integer",
                      "description": "ID of the club."
                    },
                    "recipient_type": {
                      "type": "string",
                      "description": "Role of the recipient. (player, manager etc.)"
                    },
                    "recipient_id": {
                      "type": "integer",
                      "description": "ID of the recipient."
                    },
                    "type": {
                      "type": "string",
                      "description": "| value          | description     |\n|:---------------|:----------------|\n| `yellow-card`    | yellow card     |\n| `red-card`       | red card        |\n| `yellowred-card` | yellow red card |\n",
                      "enum": [
                        "yellow-card",
                        "red-card",
                        "yellowred-card"
                      ]
                    },
                    "reason": {
                      "type": "string",
                      "description": "| value                              | description                                    |\n|:-----------------------------------|:-----------------------------------------------|\n| `roughing`                         | assaulting another person                      |\n| `foul`                             | foul play                                      |\n| `professional foul`                | tactical foul play                             |\n| `insulting language`               | groughing                                      |\n| `delay of game`                    | tactical game delay                            |\n| `handball`                         | tactical handball                              |\n| `injured player on the field`      | injured player on the field                    |\n| `dive`                             | baffeled foul                                  |\n| `jubilance`                        | jubilance                                      |\n| `not properly checked in the game` | no or invalid permission to play               |\n| `distance to the wall`             | insufficient distance to wall during free kick |\n| `bad sportsmanship`                | bad sportsmanship                              |\n| `touching (ed) the referee`        | touching the referee                           |\n| `other`                            | other breaches of a rule                       |\n",
                      "enum": [
                        "roughing",
                        "foul",
                        "professional foul",
                        "insulting language",
                        "delay of game",
                        "handball",
                        "injured player on the field",
                        "dive",
                        "jubilance",
                        "not properly checked in the game",
                        "distance to the wall",
                        "bad sportsmanship",
                        "touching (ed) the referee",
                        "other"
                      ]
                    },
                    "player_firstname": {
                      "type": "string",
                      "description": "Firstname of the player who received the card."
                    },
                    "player_lastname": {
                      "type": "string",
                      "description": "Lastname of the player who received the card."
                    },
                    "player_nickname": {
                      "type": "string",
                      "description": "Nickname of the player who received the card."
                    },
                    "player_uniform_number": {
                      "type": "integer",
                      "description": "Uniform number of the person who received the card."
                    },
                    "player_position_regular": {
                      "type": "string",
                      "description": "Position the booked person plays regularly."
                    },
                    "player_image_url": {
                      "type": "string",
                      "description": "URL to the portrait image of the official"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "home_club_id": {
                      "type": "integer",
                      "description": "ID of home club."
                    },
                    "away_club_id": {
                      "type": "integer",
                      "description": "ID of away club."
                    },
                    "home_team_id": {
                      "type": "integer",
                      "description": "ID of home team."
                    },
                    "away_team_id": {
                      "type": "integer",
                      "description": "ID of away team."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "Club": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the club. This **SHALL NOT** change for a club.",
              "example": 42
            },
            "name": {
              "type": "string",
              "description": "Name of the club.",
              "example": "Hamburger SV"
            },
            "international_name": {
              "type": "string",
              "description": "International name of the club."
            },
            "handle": {
              "type": "string",
              "description": "Handle of the club.",
              "example": "HSV"
            },
            "link": {
              "type": "string",
              "description": "API-URL to this club."
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "news_link": {
          "type": "string",
          "description": "API-URL to the news of this club."
        },
        "videos_link": {
          "type": "string",
          "description": "API-URL to the videos of this club."
        },
        "website_url": {
          "type": "string",
          "description": "URL to the official website.",
          "example": "https://www.hsv.de/"
        },
        "calendars_url": {
          "type": "string",
          "description": "API-URL to the calendar resource of this club."
        },
        "address": {
          "allOf": [
            {
              "description": "Address of the club."
            },
            {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Name of the address.",
                  "example": "Volksparkstadion"
                },
                "city": {
                  "type": "string",
                  "description": "City of the address.",
                  "example": "Hamburg"
                },
                "street": {
                  "type": "string",
                  "description": "Street of the address.",
                  "example": "Sylvesterallee 7"
                },
                "postal_code": {
                  "type": "string",
                  "description": "Postal code of the address.",
                  "example": "22525"
                },
                "lng": {
                  "type": "number",
                  "format": "float",
                  "description": "Longitude of the address.",
                  "example": 9.8986
                },
                "lat": {
                  "type": "number",
                  "format": "float",
                  "description": "Latitude of the address.",
                  "example": 53.5872
                }
              }
            }
          ]
        },
        "emblem": {
          "type": "object",
          "description": "The club emblem in different resolutions.",
          "properties": {
            "medium": {
              "type": "string",
              "description": "URL to the image in medium resolution (300x300>)."
            },
            "mini": {
              "type": "string",
              "description": "URL to the image in mini resolution (36x36>)."
            },
            "small": {
              "type": "string",
              "description": "URL to the image in mini resolution (70x70>)."
            }
          }
        },
        "stadium": {
          "type": "object",
          "description": "The home stadium of the club.",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the stadium.",
              "example": "Volksparkstadion"
            },
            "seats": {
              "type": "integer",
              "description": "Number of seats/capacity of the stadium.",
              "example": 57000
            },
            "surface": {
              "type": "string",
              "description": "Surface of the stadium.",
              "example": "turf",
              "enum": [
                "artificial_turf",
                "turf"
              ]
            },
            "plan_image": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "medium": {
                      "type": "string",
                      "description": "URL to image in medium resolution (300x300>)."
                    },
                    "mini": {
                      "type": "string",
                      "description": "URL to image in mini resolution (30x30>)."
                    },
                    "icon_mini": {
                      "type": "string",
                      "description": "URL to image in icon resolution (24x24>)."
                    }
                  }
                },
                {
                  "description": "Image of the stadium layout in different resolutions."
                }
              ]
            },
            "image": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "medium": {
                      "type": "string",
                      "description": "URL to image in medium resolution (300x300>)."
                    },
                    "mini": {
                      "type": "string",
                      "description": "URL to image in mini resolution (30x30>)."
                    },
                    "icon_mini": {
                      "type": "string",
                      "description": "URL to image in icon resolution (24x24>)."
                    }
                  }
                },
                {
                  "description": "Image of the stadium in different resolutions."
                }
              ]
            },
            "address": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "Name of the address.",
                      "example": "Volksparkstadion"
                    },
                    "city": {
                      "type": "string",
                      "description": "City of the address.",
                      "example": "Hamburg"
                    },
                    "street": {
                      "type": "string",
                      "description": "Street of the address.",
                      "example": "Sylvesterallee 7"
                    },
                    "postal_code": {
                      "type": "string",
                      "description": "Postal code of the address.",
                      "example": "22525"
                    },
                    "lng": {
                      "type": "number",
                      "format": "float",
                      "description": "Longitude of the address.",
                      "example": 9.8986
                    },
                    "lat": {
                      "type": "number",
                      "format": "float",
                      "description": "Latitude of the address.",
                      "example": 53.5872
                    }
                  }
                },
                {
                  "description": "Address of the stadium."
                }
              ]
            }
          }
        }
      }
    },
    "CommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Comment event.",
              "enum": [
                "comment_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the comment."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if this event was sent as notification."
                },
                "commenting_club_id": {
                  "type": "integer",
                  "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "period": {
                  "type": "integer",
                  "description": "Period in which the event happend."
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match."
                },
                "period_minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match period."
                },
                "injury_time_elapsed": {
                  "type": "integer",
                  "description": "Elapsed injury time in minutes."
                }
              }
            }
          ]
        }
      ]
    },
    "CommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Comment event activity.",
              "enum": [
                "comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "EventModeCommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Comment event activity.",
              "enum": [
                "comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "CornerCommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Corner comment event.",
              "enum": [
                "corner_comment_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the comment."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if this event was sent as notification."
                },
                "commenting_club_id": {
                  "type": "integer",
                  "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                }
              }
            },
            {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "club_id": {
                      "type": "integer",
                      "description": "ID of the club."
                    },
                    "team_id": {
                      "type": "integer",
                      "description": "ID of team which won the corner."
                    },
                    "team_name": {
                      "type": "string",
                      "description": "Name of team which won the corner."
                    },
                    "team_nickname": {
                      "type": "integer",
                      "description": "Nickname of team which won the corner."
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "CornerCommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Corner activity.",
              "enum": [
                "corner_comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                },
                {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "club_id": {
                          "type": "integer",
                          "description": "ID of the club."
                        },
                        "team_id": {
                          "type": "integer",
                          "description": "ID of team which won the corner."
                        },
                        "team_name": {
                          "type": "string",
                          "description": "Name of team which won the corner."
                        },
                        "team_nickname": {
                          "type": "integer",
                          "description": "Nickname of team which won the corner."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "period": {
                          "type": "integer",
                          "description": "Period in which the event happend."
                        },
                        "minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match."
                        },
                        "period_minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match period."
                        },
                        "injury_time_elapsed": {
                          "type": "integer",
                          "description": "Elapsed injury time in minutes."
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    },
    "CornerEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Corner event.",
              "enum": [
                "corner_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "club_id": {
                  "type": "integer",
                  "description": "ID of the club."
                },
                "team_id": {
                  "type": "integer",
                  "description": "ID of team which won the corner."
                },
                "team_name": {
                  "type": "string",
                  "description": "Name of team which won the corner."
                },
                "team_nickname": {
                  "type": "integer",
                  "description": "Nickname of team which won the corner."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "period": {
                  "type": "integer",
                  "description": "Period in which the event happend."
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match."
                },
                "period_minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match period."
                },
                "injury_time_elapsed": {
                  "type": "integer",
                  "description": "Elapsed injury time in minutes."
                }
              }
            }
          ]
        }
      ]
    },
    "CornerEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Corner activity.",
              "enum": [
                "corner_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "club_id": {
                      "type": "integer",
                      "description": "ID of the club."
                    },
                    "team_id": {
                      "type": "integer",
                      "description": "ID of team which won the corner."
                    },
                    "team_name": {
                      "type": "string",
                      "description": "Name of team which won the corner."
                    },
                    "team_nickname": {
                      "type": "integer",
                      "description": "Nickname of team which won the corner."
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "CustomField": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "Unique internal id.",
          "example": 1
        },
        "key": {
          "type": "string",
          "description": "Unique identifier.",
          "example": "de_activities_fanshop_url"
        },
        "value": {
          "type": "string",
          "description": "Content of the key.",
          "example": "https://shop.bvb.de/"
        },
        "category": {
          "type": "string",
          "description": "Category for custom field.",
          "example": "Custom Category"
        },
        "description": {
          "type": "string",
          "description": "Description which explain how this key/value should be used.",
          "example": "URL to german fanshop. Used on activities stream in mobile apps."
        },
        "json_format": {
          "type": "boolean",
          "description": "indicates if value should be a json. if true the field value is validated to be json",
          "example": false
        }
      }
    },
    "Event": {
      "type": "object",
      "x-extendedDiscriminator": "event_type",
      "discriminator": "event_type",
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID of the event."
        },
        "comment": {
          "type": "string",
          "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
        },
        "match_id": {
          "type": "integer",
          "description": "ID of match the event belongs to."
        },
        "season_id": {
          "type": "integer",
          "description": "ID of season the event belongs to."
        },
        "tournament_id": {
          "type": "integer",
          "description": "ID of tournament the event belongs to."
        },
        "time": {
          "type": "string",
          "format": "date-time",
          "description": "Time in which the event happened."
        },
        "event_type": {
          "type": "string",
          "description": "Type of the event."
        }
      }
    },
    "EventModeEvent": {
      "type": "object",
      "required": [
        "name",
        "start_date_time",
        "stream",
        "site"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "readOnly": true,
          "example": 42,
          "description": "ID of the events."
        },
        "name": {
          "type": "string",
          "description": "Name of the events."
        },
        "live": {
          "type": "boolean",
          "description": "Live status of the event.",
          "example": true
        },
        "images": {
          "type": "array",
          "description": "List of images.",
          "minItems": 1,
          "items": {
            "type": "object",
            "required": [
              "url"
            ],
            "properties": {
              "url": {
                "type": "string",
                "description": "URL of the image.",
                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
              },
              "width": {
                "type": "integer",
                "readOnly": true,
                "description": "Width of the image.",
                "example": 1140
              },
              "height": {
                "type": "integer",
                "readOnly": true,
                "description": "Height of the image.",
                "example": 840
              },
              "orientation": {
                "type": "string",
                "readOnly": true,
                "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                "example": "landscape"
              },
              "size": {
                "type": "object",
                "description": "Different sizes of the teaser image.",
                "readOnly": true,
                "properties": {
                  "small": {
                    "type": "string",
                    "description": "URL to the small sized image.",
                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                  },
                  "medium": {
                    "type": "string",
                    "description": "URL to the medium sized image.",
                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                  },
                  "large": {
                    "type": "string",
                    "description": "URL to the large sized image.",
                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                  }
                }
              }
            }
          }
        },
        "sponsor": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the sponsor.",
              "example": "Adidas"
            },
            "logo": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "URL of the image.",
                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                },
                "width": {
                  "type": "integer",
                  "readOnly": true,
                  "description": "Width of the image.",
                  "example": 1140
                },
                "height": {
                  "type": "integer",
                  "readOnly": true,
                  "description": "Height of the image.",
                  "example": 840
                },
                "orientation": {
                  "type": "string",
                  "readOnly": true,
                  "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                  "example": "landscape"
                },
                "size": {
                  "type": "object",
                  "description": "Different sizes of the teaser image.",
                  "readOnly": true,
                  "properties": {
                    "small": {
                      "type": "string",
                      "description": "URL to the small sized image.",
                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                    },
                    "medium": {
                      "type": "string",
                      "description": "URL to the medium sized image.",
                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                    },
                    "large": {
                      "type": "string",
                      "description": "URL to the large sized image.",
                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                    }
                  }
                }
              },
              "description": "Logo of the sponsor."
            }
          }
        },
        "start_weekday": {
          "type": "string",
          "description": "Day of week in which the match starts.",
          "example": "wednesday"
        },
        "start_date_time": {
          "type": "string",
          "format": "date-time",
          "description": "Date and time when the game starts.",
          "example": "2016-08-22T20:45:00+02:00"
        },
        "club": {
          "type": "object",
          "description": "Club to which the event belongs.",
          "items": {
            "type": "object",
            "description": "The club the team belongs to.",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The Club id.",
                "example": 33
              },
              "link": {
                "type": "string",
                "description": "The url to the club resource in the api."
              },
              "emblem": {
                "type": "object",
                "description": "The club emblem in different resolutions.",
                "properties": {
                  "mini": {
                    "type": "string",
                    "description": "URL of the club emblem in a mini resolution (36px by 36px)."
                  },
                  "small": {
                    "type": "string",
                    "description": "URL of the club emblem in a small resolution (70px by 70px)."
                  },
                  "medium": {
                    "type": "string",
                    "description": "URL of the club emblem in a medium resolution (300px by 300px)."
                  }
                }
              }
            }
          }
        },
        "stream": {
          "type": "object",
          "description": "Stream for the event.",
          "properties": {
            "available": {
              "type": "boolean",
              "description": "Stream available for this event or not.",
              "example": true
            },
            "live": {
              "type": "boolean",
              "description": "If the stream has started (based on start date/time for the stream)",
              "example": false
            },
            "link": {
              "type": "string",
              "description": "Api link to the stream",
              "example": "https://clubplatform.de/api/clubs/1/events/13/streams/1"
            }
          }
        },
        "site": {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Name of the location.",
                  "example": "Red Bull Arena"
                },
                "city": {
                  "type": "string",
                  "description": "City of the venue.",
                  "example": "Leipzig"
                },
                "postal_code": {
                  "type": "string",
                  "description": "Postal code of the location.",
                  "example": "04105"
                },
                "street": {
                  "type": "string",
                  "description": "Street of the location.",
                  "example": "Am Sportforum, 3"
                }
              }
            },
            {
              "description": "Location where the match will happen."
            }
          ]
        }
      }
    },
    "EventModeActivity": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "type",
          "discriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the actvity."
            },
            "comment": {
              "type": "string",
              "description": "Comment of the activity."
            },
            "published_at": {
              "type": "string",
              "format": "date-time",
              "description": "Date and time when the activity was published."
            },
            "image": {
              "type": "object",
              "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
              "properties": {
                "medium": {
                  "type": "object",
                  "description": "Image with max size of 640 x 640 pixels.",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "URL to a video if the activity source contains one."
                    }
                  }
                }
              }
            },
            "image_url": {
              "type": "string",
              "description": "URL to the image referenced by the activity."
            },
            "image_width": {
              "type": "integer",
              "description": "Width in pixels of the image."
            },
            "image_height": {
              "type": "integer",
              "description": "Height in pixels of the image."
            },
            "send_as_notification": {
              "type": "boolean",
              "description": "True if the activity was send as notification."
            },
            "profile_image_url": {
              "type": "boolean",
              "description": "URL to the profile image referenced by the activity."
            },
            "account": {
              "type": "object",
              "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
            },
            "type": {
              "type": "string",
              "description": "Type of the attached source."
            },
            "external_id": {
              "type": "string",
              "description": "External ID of the activity."
            },
            "external_url": {
              "type": "string",
              "description": "External URL of the activity."
            },
            "video_url": {
              "type": "string",
              "description": "URL to a video if the activity source contains one."
            }
          }
        }
      ]
    },
    "ExternalMarketingItemActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "External marketing item activity.",
              "enum": [
                "external_marketing_item"
              ]
            },
            "source": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the content."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the content."
                },
                "url": {
                  "type": "string",
                  "description": "URL to the content."
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced to the content."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                }
              }
            }
          }
        }
      ]
    },
    "EventModeExternalMarketingItemActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "External marketing item activity.",
              "enum": [
                "external_marketing_item"
              ]
            },
            "source": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the content."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the content."
                },
                "url": {
                  "type": "string",
                  "description": "URL to the content."
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced to the content."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                }
              }
            }
          }
        }
      ]
    },
    "ExternalPromotionActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "External promotion activity.",
              "enum": [
                "external_promotion"
              ]
            },
            "source": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the content."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the content."
                },
                "url": {
                  "type": "string",
                  "description": "URL to the content."
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced to the content."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                }
              }
            }
          }
        }
      ]
    },
    "ExternalSweepstakeActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "External sweepstake activity.",
              "enum": [
                "external_sweepstake"
              ]
            },
            "source": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the content."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the content."
                },
                "url": {
                  "type": "string",
                  "description": "URL to the content."
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced to the content."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                }
              }
            }
          }
        }
      ]
    },
    "FacebookPost": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "type",
          "discriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the post."
            },
            "external_id": {
              "type": "integer",
              "description": "ID of the external post."
            },
            "external_url": {
              "type": "string",
              "description": "URL to the external resource."
            },
            "published_at": {
              "type": "string",
              "format": "date-time",
              "description": "Date and time when the post was published."
            },
            "profile_image_url": {
              "type": "string",
              "description": "URL to the profile image."
            },
            "image": {
              "type": "object",
              "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
              "properties": {
                "medium": {
                  "type": "object",
                  "description": "Image with max size of 640 x 640 pixels.",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "URL to a video if the activity source contains one."
                    }
                  }
                }
              }
            },
            "image_url": {
              "type": "string",
              "description": "URL to the image which is associated with the post."
            },
            "image_width": {
              "type": "integer",
              "description": "Width in pixels of the image."
            },
            "image_height": {
              "type": "integer",
              "description": "Height in pixels of the image."
            },
            "video_url": {
              "type": "string",
              "description": "URL to the video which is associated with the post."
            },
            "account": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the account."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the account."
                },
                "group_id": {
                  "type": "integer",
                  "description": "ID of the group which is associated to this account."
                },
                "username": {
                  "type": "string",
                  "description": "Username of the account."
                },
                "full_name": {
                  "type": "string",
                  "description": "Full name of the account."
                },
                "display_name": {
                  "type": "string",
                  "description": "Display name of the account."
                },
                "handle": {
                  "type": "string",
                  "description": "Handle"
                }
              }
            },
            "type": {
              "type": "string"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "facebook_post"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "source": {
              "type": "object",
              "description": "See post documentation on [https://developers.facebook.com](https://developers.facebook.com/docs/reference/api/post).\n",
              "externalDocs": {
                "description": "Facebook",
                "url": "https://developers.facebook.com/docs/reference/api/post"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "FacebookPostActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Facebook post activity.",
              "enum": [
                "facebook_post"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "source": {
              "type": "object",
              "description": "See post documentation on [https://developers.facebook.com](https://developers.facebook.com/docs/reference/api/post).\n",
              "externalDocs": {
                "description": "Facebook",
                "url": "https://developers.facebook.com/docs/reference/api/post"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "EventModeFacebookPostActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Facebook post activity.",
              "enum": [
                "facebook_post"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "source": {
              "type": "object",
              "description": "See post documentation on [https://developers.facebook.com](https://developers.facebook.com/docs/reference/api/post).\n",
              "externalDocs": {
                "description": "Facebook",
                "url": "https://developers.facebook.com/docs/reference/api/post"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "GalleryComponent": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the component."
            },
            "position": {
              "type": "integer",
              "description": "Position of the component. You **SHOULD** render the components in ascending order."
            },
            "type": {
              "type": "string"
            },
            "html": {
              "type": "string",
              "description": "HTML formatted content of the component."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Gallery component.",
              "enum": [
                "gallery"
              ]
            },
            "images": {
              "type": "array",
              "description": "List of images.",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "external_id",
                      "external_image_url"
                    ],
                    "properties": {
                      "id": {
                        "type": "integer",
                        "readOnly": true,
                        "description": "ID of the image."
                      },
                      "position": {
                        "type": "integer",
                        "minimum": 0,
                        "description": "Position of image in the gallery. Set to `null` to append."
                      },
                      "teaser": {
                        "type": "boolean",
                        "description": "True sets this image as teaser for the gallery."
                      },
                      "title": {
                        "type": "string",
                        "description": "Title of the image."
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the image."
                      },
                      "copyright": {
                        "type": "string",
                        "description": "Copyright notic of the image."
                      },
                      "keywords": {
                        "type": "array",
                        "description": "List of keywords.",
                        "items": {
                          "type": "string"
                        }
                      },
                      "external_id": {
                        "type": "string",
                        "description": "ID of the image in an external system."
                      },
                      "external_image_url": {
                        "type": "string",
                        "description": "URL where the image is downloaded from."
                      },
                      "external_landing_page_url": {
                        "type": "string",
                        "description": "URL to a landing page."
                      },
                      "url": {
                        "type": "string",
                        "readOnly": true,
                        "description": "URL to the image."
                      },
                      "locale": {
                        "allOf": [
                          {
                            "type": "string",
                            "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                            "example": "de-DE",
                            "pattern": "[a-z]{2}-[A-Z]{2}"
                          },
                          {
                            "readOnly": true
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "width": {
                        "type": "integer",
                        "description": "Width of the image in pixels."
                      },
                      "height": {
                        "type": "integer",
                        "description": "Height of the image in pixels."
                      },
                      "size": {
                        "type": "object",
                        "description": "URL to teaser image in different resolution.",
                        "properties": {
                          "preview": {
                            "type": "string"
                          },
                          "overview": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      ]
    },
    "GoalCommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Goal comment event.",
              "enum": [
                "goal_comment_event"
              ]
            },
            "opponent_club_emblem_url": {
              "type": "object",
              "description": "The club emblem in different resolutions.",
              "properties": {
                "medium": {
                  "type": "string",
                  "description": "URL to the image in medium resolution (300x300>)."
                },
                "mini": {
                  "type": "string",
                  "description": "URL to the image in mini resolution (36x36>)."
                },
                "small": {
                  "type": "string",
                  "description": "URL to the image in mini resolution (70x70>)."
                }
              }
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the comment."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if this event was sent as notification."
                },
                "commenting_club_id": {
                  "type": "integer",
                  "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                }
              }
            },
            {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "final_score": {
                      "type": "integer",
                      "description": "Score of team wich has scored in the moment the goal was shot including the goal itself."
                    },
                    "club_id": {
                      "type": "integer",
                      "description": "ID of the club."
                    },
                    "team_id": {
                      "type": "integer",
                      "description": "ID of team which won the corner."
                    },
                    "team_name": {
                      "type": "string",
                      "description": "Name of team which won the corner."
                    },
                    "team_nickname": {
                      "type": "integer",
                      "description": "Nickname of team which won the corner."
                    },
                    "opponent_club_id": {
                      "type": "integer",
                      "description": "ID of club the opponent team is associated with."
                    },
                    "opponent_team_id": {
                      "type": "integer",
                      "description": "ID of opponent team."
                    },
                    "opponent_team_name": {
                      "type": "string",
                      "description": "Name of opponent team."
                    },
                    "opponent_team_nickname": {
                      "type": "string",
                      "description": "Nickname of opponent team."
                    },
                    "opponent_final_score": {
                      "type": "integer",
                      "description": "Score of opponent team wich has **NOT** scored the goal in the moment the goal was shot."
                    },
                    "player_id": {
                      "type": "integer",
                      "description": "ID of player who has scored the goal."
                    },
                    "player_firstname": {
                      "type": "string",
                      "description": "Firstname of the player who scored the goal."
                    },
                    "player_lastname": {
                      "type": "string",
                      "description": "Lastname of the player who scored the goal."
                    },
                    "player_nickname": {
                      "type": "string",
                      "description": "Nickname of the player who scored the goal."
                    },
                    "player_portrait_image_url": {
                      "type": "string",
                      "description": "URL of players portrait image."
                    },
                    "assisting_player_id": {
                      "type": "integer",
                      "description": "ID of player who assist the goal."
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of the goal specified by this parameters\n\n| value    | description                           |\n|:---------|:--------------------------------------|\n| regular  | a regular goal                        |\n| penalty  | caused by a penalty kick              |\n| own-goal | own-goals score for the opponent team |\n"
                    },
                    "outcome": {
                      "type": "string",
                      "description": "Outcome of penalty/shootout goals specified by this parameter\n\n| value  | description |\n|:-------|:------------|\n| scored | scored goal |\n| missed | missed goal |\n| saved  | saved goal  |\n",
                      "enum": [
                        "scored",
                        "missed",
                        "saved"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "GoalCommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Goal comment event activity.",
              "enum": [
                "goal_comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                },
                {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "final_score": {
                          "type": "integer",
                          "description": "Score of team wich has scored in the moment the goal was shot including the goal itself."
                        },
                        "club_id": {
                          "type": "integer",
                          "description": "ID of the club."
                        },
                        "team_id": {
                          "type": "integer",
                          "description": "ID of team which won the corner."
                        },
                        "team_name": {
                          "type": "string",
                          "description": "Name of team which won the corner."
                        },
                        "team_nickname": {
                          "type": "integer",
                          "description": "Nickname of team which won the corner."
                        },
                        "opponent_club_id": {
                          "type": "integer",
                          "description": "ID of club the opponent team is associated with."
                        },
                        "opponent_team_id": {
                          "type": "integer",
                          "description": "ID of opponent team."
                        },
                        "opponent_team_name": {
                          "type": "string",
                          "description": "Name of opponent team."
                        },
                        "opponent_team_nickname": {
                          "type": "string",
                          "description": "Nickname of opponent team."
                        },
                        "opponent_final_score": {
                          "type": "integer",
                          "description": "Score of opponent team wich has **NOT** scored the goal in the moment the goal was shot."
                        },
                        "player_id": {
                          "type": "integer",
                          "description": "ID of player who has scored the goal."
                        },
                        "player_firstname": {
                          "type": "string",
                          "description": "Firstname of the player who scored the goal."
                        },
                        "player_lastname": {
                          "type": "string",
                          "description": "Lastname of the player who scored the goal."
                        },
                        "player_nickname": {
                          "type": "string",
                          "description": "Nickname of the player who scored the goal."
                        },
                        "player_portrait_image_url": {
                          "type": "string",
                          "description": "URL of players portrait image."
                        },
                        "assisting_player_id": {
                          "type": "integer",
                          "description": "ID of player who assist the goal."
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of the goal specified by this parameters\n\n| value    | description                           |\n|:---------|:--------------------------------------|\n| regular  | a regular goal                        |\n| penalty  | caused by a penalty kick              |\n| own-goal | own-goals score for the opponent team |\n"
                        },
                        "outcome": {
                          "type": "string",
                          "description": "Outcome of penalty/shootout goals specified by this parameter\n\n| value  | description |\n|:-------|:------------|\n| scored | scored goal |\n| missed | missed goal |\n| saved  | saved goal  |\n",
                          "enum": [
                            "scored",
                            "missed",
                            "saved"
                          ]
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "period": {
                          "type": "integer",
                          "description": "Period in which the event happend."
                        },
                        "minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match."
                        },
                        "period_minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match period."
                        },
                        "injury_time_elapsed": {
                          "type": "integer",
                          "description": "Elapsed injury time in minutes."
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    },
    "GoalEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Goal event.",
              "enum": [
                "goal_event"
              ]
            },
            "opponent_club_emblem_url": {
              "type": "object",
              "description": "The club emblem in different resolutions.",
              "properties": {
                "medium": {
                  "type": "string",
                  "description": "URL to the image in medium resolution (300x300>)."
                },
                "mini": {
                  "type": "string",
                  "description": "URL to the image in mini resolution (36x36>)."
                },
                "small": {
                  "type": "string",
                  "description": "URL to the image in mini resolution (70x70>)."
                }
              }
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "final_score": {
                  "type": "integer",
                  "description": "Score of team wich has scored in the moment the goal was shot including the goal itself."
                },
                "club_id": {
                  "type": "integer",
                  "description": "ID of the club."
                },
                "team_id": {
                  "type": "integer",
                  "description": "ID of team which won the corner."
                },
                "team_name": {
                  "type": "string",
                  "description": "Name of team which won the corner."
                },
                "team_nickname": {
                  "type": "integer",
                  "description": "Nickname of team which won the corner."
                },
                "opponent_club_id": {
                  "type": "integer",
                  "description": "ID of club the opponent team is associated with."
                },
                "opponent_team_id": {
                  "type": "integer",
                  "description": "ID of opponent team."
                },
                "opponent_team_name": {
                  "type": "string",
                  "description": "Name of opponent team."
                },
                "opponent_team_nickname": {
                  "type": "string",
                  "description": "Nickname of opponent team."
                },
                "opponent_final_score": {
                  "type": "integer",
                  "description": "Score of opponent team wich has **NOT** scored the goal in the moment the goal was shot."
                },
                "player_id": {
                  "type": "integer",
                  "description": "ID of player who has scored the goal."
                },
                "player_firstname": {
                  "type": "string",
                  "description": "Firstname of the player who scored the goal."
                },
                "player_lastname": {
                  "type": "string",
                  "description": "Lastname of the player who scored the goal."
                },
                "player_nickname": {
                  "type": "string",
                  "description": "Nickname of the player who scored the goal."
                },
                "player_portrait_image_url": {
                  "type": "string",
                  "description": "URL of players portrait image."
                },
                "assisting_player_id": {
                  "type": "integer",
                  "description": "ID of player who assist the goal."
                },
                "type": {
                  "type": "string",
                  "description": "Type of the goal specified by this parameters\n\n| value    | description                           |\n|:---------|:--------------------------------------|\n| regular  | a regular goal                        |\n| penalty  | caused by a penalty kick              |\n| own-goal | own-goals score for the opponent team |\n"
                },
                "outcome": {
                  "type": "string",
                  "description": "Outcome of penalty/shootout goals specified by this parameter\n\n| value  | description |\n|:-------|:------------|\n| scored | scored goal |\n| missed | missed goal |\n| saved  | saved goal  |\n",
                  "enum": [
                    "scored",
                    "missed",
                    "saved"
                  ]
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "period": {
                  "type": "integer",
                  "description": "Period in which the event happend."
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match."
                },
                "period_minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match period."
                },
                "injury_time_elapsed": {
                  "type": "integer",
                  "description": "Elapsed injury time in minutes."
                }
              }
            }
          ]
        }
      ]
    },
    "GoalEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Goal event activity.",
              "enum": [
                "goal_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "final_score": {
                      "type": "integer",
                      "description": "Score of team wich has scored in the moment the goal was shot including the goal itself."
                    },
                    "club_id": {
                      "type": "integer",
                      "description": "ID of the club."
                    },
                    "team_id": {
                      "type": "integer",
                      "description": "ID of team which won the corner."
                    },
                    "team_name": {
                      "type": "string",
                      "description": "Name of team which won the corner."
                    },
                    "team_nickname": {
                      "type": "integer",
                      "description": "Nickname of team which won the corner."
                    },
                    "opponent_club_id": {
                      "type": "integer",
                      "description": "ID of club the opponent team is associated with."
                    },
                    "opponent_team_id": {
                      "type": "integer",
                      "description": "ID of opponent team."
                    },
                    "opponent_team_name": {
                      "type": "string",
                      "description": "Name of opponent team."
                    },
                    "opponent_team_nickname": {
                      "type": "string",
                      "description": "Nickname of opponent team."
                    },
                    "opponent_final_score": {
                      "type": "integer",
                      "description": "Score of opponent team wich has **NOT** scored the goal in the moment the goal was shot."
                    },
                    "player_id": {
                      "type": "integer",
                      "description": "ID of player who has scored the goal."
                    },
                    "player_firstname": {
                      "type": "string",
                      "description": "Firstname of the player who scored the goal."
                    },
                    "player_lastname": {
                      "type": "string",
                      "description": "Lastname of the player who scored the goal."
                    },
                    "player_nickname": {
                      "type": "string",
                      "description": "Nickname of the player who scored the goal."
                    },
                    "player_portrait_image_url": {
                      "type": "string",
                      "description": "URL of players portrait image."
                    },
                    "assisting_player_id": {
                      "type": "integer",
                      "description": "ID of player who assist the goal."
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of the goal specified by this parameters\n\n| value    | description                           |\n|:---------|:--------------------------------------|\n| regular  | a regular goal                        |\n| penalty  | caused by a penalty kick              |\n| own-goal | own-goals score for the opponent team |\n"
                    },
                    "outcome": {
                      "type": "string",
                      "description": "Outcome of penalty/shootout goals specified by this parameter\n\n| value  | description |\n|:-------|:------------|\n| scored | scored goal |\n| missed | missed goal |\n| saved  | saved goal  |\n",
                      "enum": [
                        "scored",
                        "missed",
                        "saved"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "ParallelMatchGoalEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Parallel match Goal event activity.",
              "enum": [
                "parallel_match_goal_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "final_score": {
                          "type": "integer",
                          "description": "Score of team wich has scored in the moment the goal was shot including the goal itself."
                        },
                        "club_id": {
                          "type": "integer",
                          "description": "ID of the club."
                        },
                        "team_id": {
                          "type": "integer",
                          "description": "ID of team which won the corner."
                        },
                        "team_name": {
                          "type": "string",
                          "description": "Name of team which won the corner."
                        },
                        "team_nickname": {
                          "type": "integer",
                          "description": "Nickname of team which won the corner."
                        },
                        "opponent_club_id": {
                          "type": "integer",
                          "description": "ID of club the opponent team is associated with."
                        },
                        "opponent_team_id": {
                          "type": "integer",
                          "description": "ID of opponent team."
                        },
                        "opponent_team_name": {
                          "type": "string",
                          "description": "Name of opponent team."
                        },
                        "opponent_team_nickname": {
                          "type": "string",
                          "description": "Nickname of opponent team."
                        },
                        "opponent_final_score": {
                          "type": "integer",
                          "description": "Score of opponent team wich has **NOT** scored the goal in the moment the goal was shot."
                        },
                        "player_id": {
                          "type": "integer",
                          "description": "ID of player who has scored the goal."
                        },
                        "player_firstname": {
                          "type": "string",
                          "description": "Firstname of the player who scored the goal."
                        },
                        "player_lastname": {
                          "type": "string",
                          "description": "Lastname of the player who scored the goal."
                        },
                        "player_nickname": {
                          "type": "string",
                          "description": "Nickname of the player who scored the goal."
                        },
                        "player_portrait_image_url": {
                          "type": "string",
                          "description": "URL of players portrait image."
                        },
                        "assisting_player_id": {
                          "type": "integer",
                          "description": "ID of player who assist the goal."
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of the goal specified by this parameters\n\n| value    | description                           |\n|:---------|:--------------------------------------|\n| regular  | a regular goal                        |\n| penalty  | caused by a penalty kick              |\n| own-goal | own-goals score for the opponent team |\n"
                        },
                        "outcome": {
                          "type": "string",
                          "description": "Outcome of penalty/shootout goals specified by this parameter\n\n| value  | description |\n|:-------|:------------|\n| scored | scored goal |\n| missed | missed goal |\n| saved  | saved goal  |\n",
                          "enum": [
                            "scored",
                            "missed",
                            "saved"
                          ]
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "period": {
                          "type": "integer",
                          "description": "Period in which the event happend."
                        },
                        "minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match."
                        },
                        "period_minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match period."
                        },
                        "injury_time_elapsed": {
                          "type": "integer",
                          "description": "Elapsed injury time in minutes."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "assisting_player_firstname": {
                      "type": "string",
                      "description": "First name of the assisting player."
                    },
                    "assisting_player_lasttname": {
                      "type": "string",
                      "description": "Last name of the assisting player."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "HeadingComponent": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the component."
            },
            "position": {
              "type": "integer",
              "description": "Position of the component. You **SHOULD** render the components in ascending order."
            },
            "type": {
              "type": "string"
            },
            "html": {
              "type": "string",
              "description": "HTML formatted content of the component."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Heading component.",
              "enum": [
                "heading"
              ]
            },
            "html": {
              "type": "string",
              "description": "HTML formatted heading. The heading begins with `<h2>` because the `title` **SHOULD** render as `<h1>`."
            }
          }
        }
      ]
    },
    "HtmlCodeActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Html Code activity.",
              "enum": [
                "html_code"
              ]
            },
            "source": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the content."
                },
                "title": {
                  "type": "string",
                  "description": "The title"
                },
                "html": {
                  "type": "string",
                  "description": "The HTML Code"
                },
                "origin": {
                  "type": "string",
                  "description": "`Facebook`, `Instagram` or `Twitter`\n"
                },
                "preview_url": {
                  "type": "string",
                  "description": "URL to the preview image"
                }
              }
            }
          }
        }
      ]
    },
    "EventModeHtmlCodeActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Html Code activity.",
              "enum": [
                "html_code"
              ]
            },
            "source": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the content."
                },
                "title": {
                  "type": "string",
                  "description": "The title"
                },
                "html": {
                  "type": "string",
                  "description": "The HTML Code"
                },
                "origin": {
                  "type": "string",
                  "description": "`Facebook`, `Instagram` or `Twitter`\n"
                },
                "preview_url": {
                  "type": "string",
                  "description": "URL to the preview image"
                }
              }
            }
          }
        }
      ]
    },
    "ImageActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Image activity.",
              "enum": [
                "image"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "external_id",
                    "external_image_url"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "ID of the image."
                    },
                    "position": {
                      "type": "integer",
                      "minimum": 0,
                      "description": "Position of image in the gallery. Set to `null` to append."
                    },
                    "teaser": {
                      "type": "boolean",
                      "description": "True sets this image as teaser for the gallery."
                    },
                    "title": {
                      "type": "string",
                      "description": "Title of the image."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the image."
                    },
                    "copyright": {
                      "type": "string",
                      "description": "Copyright notic of the image."
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "external_id": {
                      "type": "string",
                      "description": "ID of the image in an external system."
                    },
                    "external_image_url": {
                      "type": "string",
                      "description": "URL where the image is downloaded from."
                    },
                    "external_landing_page_url": {
                      "type": "string",
                      "description": "URL to a landing page."
                    },
                    "url": {
                      "type": "string",
                      "readOnly": true,
                      "description": "URL to the image."
                    },
                    "locale": {
                      "allOf": [
                        {
                          "type": "string",
                          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                          "example": "de-DE",
                          "pattern": "[a-z]{2}-[A-Z]{2}"
                        },
                        {
                          "readOnly": true
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Referenced image object."
                }
              ]
            }
          }
        }
      ]
    },
    "EventModeImageActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Image activity.",
              "enum": [
                "image"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "external_id",
                    "external_image_url"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "ID of the image."
                    },
                    "position": {
                      "type": "integer",
                      "minimum": 0,
                      "description": "Position of image in the gallery. Set to `null` to append."
                    },
                    "teaser": {
                      "type": "boolean",
                      "description": "True sets this image as teaser for the gallery."
                    },
                    "title": {
                      "type": "string",
                      "description": "Title of the image."
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the image."
                    },
                    "copyright": {
                      "type": "string",
                      "description": "Copyright notic of the image."
                    },
                    "keywords": {
                      "type": "array",
                      "description": "List of keywords.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "external_id": {
                      "type": "string",
                      "description": "ID of the image in an external system."
                    },
                    "external_image_url": {
                      "type": "string",
                      "description": "URL where the image is downloaded from."
                    },
                    "external_landing_page_url": {
                      "type": "string",
                      "description": "URL to a landing page."
                    },
                    "url": {
                      "type": "string",
                      "readOnly": true,
                      "description": "URL to the image."
                    },
                    "locale": {
                      "allOf": [
                        {
                          "type": "string",
                          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                          "example": "de-DE",
                          "pattern": "[a-z]{2}-[A-Z]{2}"
                        },
                        {
                          "readOnly": true
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Referenced image object."
                }
              ]
            }
          }
        }
      ]
    },
    "InjuryTimeAnnouncementCommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "enum": [
                "injury_time_announcement_comment_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the comment."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if this event was sent as notification."
                },
                "commenting_club_id": {
                  "type": "integer",
                  "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                }
              }
            },
            {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "integer",
                      "description": "Announced injury time."
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "InjuryTimeAnnouncementCommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Injury time announcement comment activity.",
              "enum": [
                "injury_time_announcement_comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                },
                {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "integer",
                          "description": "Announced injury time."
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    },
    "InjuryTimeAnnouncementEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "enum": [
                "injury_time_announcement_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "value": {
                  "type": "integer",
                  "description": "Announced injury time."
                }
              }
            }
          ]
        }
      ]
    },
    "InjuryTimeAnnouncementEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Injury time announcement activity.",
              "enum": [
                "injury_time_announcement_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "integer",
                      "description": "Announced injury time."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "GraphInstagramPost": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "type",
          "discriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the post."
            },
            "external_id": {
              "type": "integer",
              "description": "ID of the external post."
            },
            "external_url": {
              "type": "string",
              "description": "URL to the external resource."
            },
            "published_at": {
              "type": "string",
              "format": "date-time",
              "description": "Date and time when the post was published."
            },
            "profile_image_url": {
              "type": "string",
              "description": "URL to the profile image."
            },
            "image": {
              "type": "object",
              "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
              "properties": {
                "medium": {
                  "type": "object",
                  "description": "Image with max size of 640 x 640 pixels.",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "URL to a video if the activity source contains one."
                    }
                  }
                }
              }
            },
            "image_url": {
              "type": "string",
              "description": "URL to the image which is associated with the post."
            },
            "image_width": {
              "type": "integer",
              "description": "Width in pixels of the image."
            },
            "image_height": {
              "type": "integer",
              "description": "Height in pixels of the image."
            },
            "video_url": {
              "type": "string",
              "description": "URL to the video which is associated with the post."
            },
            "account": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the account."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the account."
                },
                "group_id": {
                  "type": "integer",
                  "description": "ID of the group which is associated to this account."
                },
                "username": {
                  "type": "string",
                  "description": "Username of the account."
                },
                "full_name": {
                  "type": "string",
                  "description": "Full name of the account."
                },
                "display_name": {
                  "type": "string",
                  "description": "Display name of the account."
                },
                "handle": {
                  "type": "string",
                  "description": "Handle"
                }
              }
            },
            "type": {
              "type": "string"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "graph_instagram_post"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Facebook Graph API Instagram post activity.",
              "enum": [
                "graph_instagram_post"
              ]
            },
            "source": {
              "type": "object",
              "description": "Instagram Media resource retrieved from Facebook's Graph API.\n",
              "externalDocs": {
                "description": "Instagram Graph API Media (Facebook)",
                "url": "https://developers.facebook.com/docs/instagram-api/reference/media#metadata"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "GraphInstagramPostActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Facebook Graph API Instagram post activity.",
              "enum": [
                "graph_instagram_post"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Facebook Graph API Instagram post activity.",
              "enum": [
                "graph_instagram_post"
              ]
            },
            "source": {
              "type": "object",
              "description": "Instagram Media resource retrieved from Facebook's Graph API.\n",
              "externalDocs": {
                "description": "Instagram Graph API Media (Facebook)",
                "url": "https://developers.facebook.com/docs/instagram-api/reference/media#metadata"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "EventModeGraphInstagramPostActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Facebook Graph API Instagram post activity.",
              "enum": [
                "graph_instagram_post"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Facebook Graph API Instagram post activity.",
              "enum": [
                "graph_instagram_post"
              ]
            },
            "source": {
              "type": "object",
              "description": "Instagram Media resource retrieved from Facebook's Graph API.\n",
              "externalDocs": {
                "description": "Instagram Graph API Media (Facebook)",
                "url": "https://developers.facebook.com/docs/instagram-api/reference/media#metadata"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "LineupCompleteCommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Lineup complete comment event.",
              "enum": [
                "lineup_complete_comment_event"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "Title of the comment."
            },
            "send_as_notification": {
              "type": "boolean",
              "description": "True if this event was sent as notification."
            },
            "commenting_club_id": {
              "type": "integer",
              "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "teams": {
                  "type": "array",
                  "description": "List with home and away team.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of team."
                      },
                      "alignment": {
                        "type": "string",
                        "description": "Alignment of the team.",
                        "enum": [
                          "away",
                          "home"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the team."
                      },
                      "nickname": {
                        "type": "string",
                        "description": "Nickname of the team."
                      },
                      "formation": {
                        "type": "integer",
                        "description": "Formation the team used in this match.\n\nMore infos:\n- [31213](../formations.html#31213)\n- [31312](../formations.html#31312)\n- [3142](../formations.html#3142)\n- [3412](../formations.html#3412)\n- [3421](../formations.html#3421)\n- [343](../formations.html#343)\n- [3511](../formations.html#3511)\n- [352](../formations.html#352)\n- [41212](../formations.html#41212)\n- [4132](../formations.html#4132)\n- [4141](../formations.html#4141)\n- [4222](../formations.html#4222)\n- [4231](../formations.html#4231)\n- [4240](../formations.html#4240)\n- [4312](../formations.html#4312)\n- [4321](../formations.html#4321)\n- [433](../formations.html#433)\n- [4411](../formations.html#4411)\n- [442](../formations.html#442)\n- [451](../formations.html#451)\n- [532](../formations.html#532)\n- [541](../formations.html#541)\n",
                        "enum": [
                          31213,
                          31312,
                          3142,
                          3412,
                          3421,
                          343,
                          3511,
                          352,
                          41212,
                          4132,
                          4141,
                          4222,
                          4231,
                          4240,
                          4312,
                          4321,
                          433,
                          4411,
                          442,
                          451,
                          532,
                          541
                        ]
                      },
                      "club": {
                        "type": "object",
                        "description": "Club which the team is belongs to.",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the club."
                          }
                        }
                      },
                      "players": {
                        "type": "array",
                        "description": "List of players who has involved in this game.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID of the player."
                            },
                            "lastname": {
                              "type": "string",
                              "description": "Lastname of the player."
                            },
                            "firstname": {
                              "type": "string",
                              "description": "Firstname of the player."
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the player."
                            },
                            "nickname": {
                              "type": "string",
                              "description": "Nickname of the player."
                            },
                            "position_regular": {
                              "type": "string",
                              "description": "Position the player plays regularly.",
                              "enum": [
                                "Goalkeeper",
                                "Defender",
                                "Midfielder",
                                "Forward",
                                "Wing Back",
                                "Full Back",
                                "Central Defender",
                                "Defensive Midfielder",
                                "Attacking Midfielder",
                                "Central Midfielder",
                                "Winger",
                                "Striker",
                                "Second Striker",
                                "Left",
                                "Right",
                                "Centre",
                                "Left/Centre",
                                "Centre/Right",
                                "Left/Centre/Right",
                                "Left/Right"
                              ]
                            },
                            "position_match": {
                              "type": "string",
                              "description": "Position the player plays in this match.",
                              "enum": [
                                "goalie",
                                "defenseman",
                                "mid-fielder",
                                "forward",
                                "wing-back",
                                "full-back",
                                "central-defenseman",
                                "defensing-mid-fielder",
                                "attacking-mid-fielder",
                                "central-mid-fielder",
                                "winger",
                                "striker",
                                "second-striker",
                                "left",
                                "right",
                                "center",
                                "left-center",
                                "center-right",
                                "left-center-right",
                                "left-right"
                              ]
                            },
                            "formation_position": {
                              "type": "integer",
                              "description": "Position in the [formation](../formations.html) of the player."
                            },
                            "uniform_number": {
                              "type": "integer",
                              "description": "Number on uniform of the player."
                            },
                            "status": {
                              "type": "string",
                              "description": "| value      | description                |\n|:-----------|:---------------------------|\n| starter    | playing from the beginning |\n| substitute | on the bench               |\n",
                              "enum": [
                                "starter",
                                "substitute"
                              ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "home_club_id": {
                  "type": "integer",
                  "description": "ID of home club."
                },
                "away_club_id": {
                  "type": "integer",
                  "description": "ID of away club."
                },
                "home_team_id": {
                  "type": "integer",
                  "description": "ID of home team."
                },
                "away_team_id": {
                  "type": "integer",
                  "description": "ID of away team."
                }
              }
            }
          ]
        }
      ]
    },
    "LineupCompleteEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "teams": {
                  "type": "array",
                  "description": "List with home and away team.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of team."
                      },
                      "alignment": {
                        "type": "string",
                        "description": "Alignment of the team.",
                        "enum": [
                          "away",
                          "home"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the team."
                      },
                      "nickname": {
                        "type": "string",
                        "description": "Nickname of the team."
                      },
                      "formation": {
                        "type": "integer",
                        "description": "Formation the team used in this match.\n\nMore infos:\n- [31213](../formations.html#31213)\n- [31312](../formations.html#31312)\n- [3142](../formations.html#3142)\n- [3412](../formations.html#3412)\n- [3421](../formations.html#3421)\n- [343](../formations.html#343)\n- [3511](../formations.html#3511)\n- [352](../formations.html#352)\n- [41212](../formations.html#41212)\n- [4132](../formations.html#4132)\n- [4141](../formations.html#4141)\n- [4222](../formations.html#4222)\n- [4231](../formations.html#4231)\n- [4240](../formations.html#4240)\n- [4312](../formations.html#4312)\n- [4321](../formations.html#4321)\n- [433](../formations.html#433)\n- [4411](../formations.html#4411)\n- [442](../formations.html#442)\n- [451](../formations.html#451)\n- [532](../formations.html#532)\n- [541](../formations.html#541)\n",
                        "enum": [
                          31213,
                          31312,
                          3142,
                          3412,
                          3421,
                          343,
                          3511,
                          352,
                          41212,
                          4132,
                          4141,
                          4222,
                          4231,
                          4240,
                          4312,
                          4321,
                          433,
                          4411,
                          442,
                          451,
                          532,
                          541
                        ]
                      },
                      "club": {
                        "type": "object",
                        "description": "Club which the team is belongs to.",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the club."
                          }
                        }
                      },
                      "players": {
                        "type": "array",
                        "description": "List of players who has involved in this game.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID of the player."
                            },
                            "lastname": {
                              "type": "string",
                              "description": "Lastname of the player."
                            },
                            "firstname": {
                              "type": "string",
                              "description": "Firstname of the player."
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the player."
                            },
                            "nickname": {
                              "type": "string",
                              "description": "Nickname of the player."
                            },
                            "position_regular": {
                              "type": "string",
                              "description": "Position the player plays regularly.",
                              "enum": [
                                "Goalkeeper",
                                "Defender",
                                "Midfielder",
                                "Forward",
                                "Wing Back",
                                "Full Back",
                                "Central Defender",
                                "Defensive Midfielder",
                                "Attacking Midfielder",
                                "Central Midfielder",
                                "Winger",
                                "Striker",
                                "Second Striker",
                                "Left",
                                "Right",
                                "Centre",
                                "Left/Centre",
                                "Centre/Right",
                                "Left/Centre/Right",
                                "Left/Right"
                              ]
                            },
                            "position_match": {
                              "type": "string",
                              "description": "Position the player plays in this match.",
                              "enum": [
                                "goalie",
                                "defenseman",
                                "mid-fielder",
                                "forward",
                                "wing-back",
                                "full-back",
                                "central-defenseman",
                                "defensing-mid-fielder",
                                "attacking-mid-fielder",
                                "central-mid-fielder",
                                "winger",
                                "striker",
                                "second-striker",
                                "left",
                                "right",
                                "center",
                                "left-center",
                                "center-right",
                                "left-center-right",
                                "left-right"
                              ]
                            },
                            "formation_position": {
                              "type": "integer",
                              "description": "Position in the [formation](../formations.html) of the player."
                            },
                            "uniform_number": {
                              "type": "integer",
                              "description": "Number on uniform of the player."
                            },
                            "status": {
                              "type": "string",
                              "description": "| value      | description                |\n|:-----------|:---------------------------|\n| starter    | playing from the beginning |\n| substitute | on the bench               |\n",
                              "enum": [
                                "starter",
                                "substitute"
                              ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "home_club_id": {
                  "type": "integer",
                  "description": "ID of home club."
                },
                "away_club_id": {
                  "type": "integer",
                  "description": "ID of away club."
                },
                "home_team_id": {
                  "type": "integer",
                  "description": "ID of home team."
                },
                "away_team_id": {
                  "type": "integer",
                  "description": "ID of away team."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Lineup complete event.",
              "enum": [
                "lineup_complete_event"
              ]
            }
          }
        }
      ]
    },
    "LineupCompleteEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Lineup complete activity.",
              "enum": [
                "lineup_complete_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "teams": {
                      "type": "array",
                      "description": "List with home and away team.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of team."
                          },
                          "alignment": {
                            "type": "string",
                            "description": "Alignment of the team.",
                            "enum": [
                              "away",
                              "home"
                            ]
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the team."
                          },
                          "nickname": {
                            "type": "string",
                            "description": "Nickname of the team."
                          },
                          "formation": {
                            "type": "integer",
                            "description": "Formation the team used in this match.\n\nMore infos:\n- [31213](../formations.html#31213)\n- [31312](../formations.html#31312)\n- [3142](../formations.html#3142)\n- [3412](../formations.html#3412)\n- [3421](../formations.html#3421)\n- [343](../formations.html#343)\n- [3511](../formations.html#3511)\n- [352](../formations.html#352)\n- [41212](../formations.html#41212)\n- [4132](../formations.html#4132)\n- [4141](../formations.html#4141)\n- [4222](../formations.html#4222)\n- [4231](../formations.html#4231)\n- [4240](../formations.html#4240)\n- [4312](../formations.html#4312)\n- [4321](../formations.html#4321)\n- [433](../formations.html#433)\n- [4411](../formations.html#4411)\n- [442](../formations.html#442)\n- [451](../formations.html#451)\n- [532](../formations.html#532)\n- [541](../formations.html#541)\n",
                            "enum": [
                              31213,
                              31312,
                              3142,
                              3412,
                              3421,
                              343,
                              3511,
                              352,
                              41212,
                              4132,
                              4141,
                              4222,
                              4231,
                              4240,
                              4312,
                              4321,
                              433,
                              4411,
                              442,
                              451,
                              532,
                              541
                            ]
                          },
                          "club": {
                            "type": "object",
                            "description": "Club which the team is belongs to.",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "ID of the club."
                              }
                            }
                          },
                          "players": {
                            "type": "array",
                            "description": "List of players who has involved in this game.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "description": "ID of the player."
                                },
                                "lastname": {
                                  "type": "string",
                                  "description": "Lastname of the player."
                                },
                                "firstname": {
                                  "type": "string",
                                  "description": "Firstname of the player."
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of the player."
                                },
                                "nickname": {
                                  "type": "string",
                                  "description": "Nickname of the player."
                                },
                                "position_regular": {
                                  "type": "string",
                                  "description": "Position the player plays regularly.",
                                  "enum": [
                                    "Goalkeeper",
                                    "Defender",
                                    "Midfielder",
                                    "Forward",
                                    "Wing Back",
                                    "Full Back",
                                    "Central Defender",
                                    "Defensive Midfielder",
                                    "Attacking Midfielder",
                                    "Central Midfielder",
                                    "Winger",
                                    "Striker",
                                    "Second Striker",
                                    "Left",
                                    "Right",
                                    "Centre",
                                    "Left/Centre",
                                    "Centre/Right",
                                    "Left/Centre/Right",
                                    "Left/Right"
                                  ]
                                },
                                "position_match": {
                                  "type": "string",
                                  "description": "Position the player plays in this match.",
                                  "enum": [
                                    "goalie",
                                    "defenseman",
                                    "mid-fielder",
                                    "forward",
                                    "wing-back",
                                    "full-back",
                                    "central-defenseman",
                                    "defensing-mid-fielder",
                                    "attacking-mid-fielder",
                                    "central-mid-fielder",
                                    "winger",
                                    "striker",
                                    "second-striker",
                                    "left",
                                    "right",
                                    "center",
                                    "left-center",
                                    "center-right",
                                    "left-center-right",
                                    "left-right"
                                  ]
                                },
                                "formation_position": {
                                  "type": "integer",
                                  "description": "Position in the [formation](../formations.html) of the player."
                                },
                                "uniform_number": {
                                  "type": "integer",
                                  "description": "Number on uniform of the player."
                                },
                                "status": {
                                  "type": "string",
                                  "description": "| value      | description                |\n|:-----------|:---------------------------|\n| starter    | playing from the beginning |\n| substitute | on the bench               |\n",
                                  "enum": [
                                    "starter",
                                    "substitute"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "home_club_id": {
                      "type": "integer",
                      "description": "ID of home club."
                    },
                    "away_club_id": {
                      "type": "integer",
                      "description": "ID of away club."
                    },
                    "home_team_id": {
                      "type": "integer",
                      "description": "ID of home team."
                    },
                    "away_team_id": {
                      "type": "integer",
                      "description": "ID of away team."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "News": {
      "type": "object",
      "description": "A news is divided into a teaser element and several components.\nEach component represents one element of the news body that can have its own headline, sub headline and images.\nA component does not necessarily have a text or images.\nAn example for a news component would be some image-gallery-like element of the news that only contains a headline and some images.\nTo display the whole news, all components have to be displayed.\n",
      "required": [
        "external_id",
        "url",
        "category",
        "created_at",
        "teaser",
        "components"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "readOnly": true,
          "example": 42,
          "description": "ID of the news."
        },
        "locale": {
          "type": "string",
          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
          "example": "de-DE",
          "pattern": "[a-z]{2}-[A-Z]{2}"
        },
        "keywords": {
          "type": "array",
          "description": "Array of keywords that describe the news.",
          "example": [
            "keyword"
          ],
          "items": {
            "type": "string"
          }
        },
        "author": {
          "type": "string",
          "description": "Author of the news.",
          "example": "Borussia Dortmund"
        },
        "url": {
          "type": "string",
          "description": "URL of the original news.",
          "example": "http://www.bvb.de/News/Uebersicht/Ich-will-erfolgreich-sein-und-guten-Fussball-spielen-lassen"
        },
        "highlight": {
          "type": "boolean",
          "description": "Special type of news.",
          "example": true,
          "default": false
        },
        "prio": {
          "type": "boolean",
          "example": true,
          "default": false
        },
        "category": {
          "type": "string",
          "description": "Category of the news.",
          "example": "Nachricht"
        },
        "category_id": {
          "type": "integer",
          "description": "Category ID of the news.",
          "example": 113
        },
        "additional_categories": {
          "type": "array",
          "description": "List of categories (maximum 10)",
          "example": [
            {
              "category": "Additional Category 1",
              "id": 17
            },
            {
              "category": "Additional Category 2",
              "id": 22
            }
          ],
          "items": {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "description": "Category Name.",
                "example": "Nachricht"
              },
              "category_id": {
                "type": "integer",
                "description": "Category ID.",
                "example": 113
              }
            }
          }
        },
        "state": {
          "type": "string",
          "readOnly": true,
          "enum": [
            "in_progress",
            "processed"
          ],
          "description": "* in_progress - Currently processing by the server.\n* processed - Processing is finished.\n"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "The UTC date/time at which the current object was created."
        },
        "published_at": {
          "type": "string",
          "format": "date-time",
          "description": "The UTC date/time at which the news item was published."
        },
        "teaser": {
          "type": "object",
          "description": "Contains the headline and a short summary.",
          "required": [
            "title",
            "text",
            "images"
          ],
          "properties": {
            "title": {
              "type": "string",
              "description": "Main title of the news.",
              "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
            },
            "text": {
              "type": "string",
              "description": "Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
              "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
            },
            "text_original": {
              "type": "string",
              "readOnly": true,
              "description": "Original/untouched  text of the news component",
              "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
            },
            "images": {
              "type": "array",
              "description": "List of images.",
              "minItems": 1,
              "items": {
                "type": "object",
                "required": [
                  "url",
                  "description"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "URL of the image.",
                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                  },
                  "width": {
                    "type": "integer",
                    "readOnly": true,
                    "description": "Width of the image.",
                    "example": 1140
                  },
                  "height": {
                    "type": "integer",
                    "readOnly": true,
                    "description": "Height of the image.",
                    "example": 840
                  },
                  "orientation": {
                    "type": "string",
                    "readOnly": true,
                    "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                    "example": "landscape"
                  },
                  "size": {
                    "type": "object",
                    "description": "Different sizes of the teaser image.",
                    "readOnly": true,
                    "properties": {
                      "small": {
                        "type": "string",
                        "description": "URL to the small sized image.",
                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                      },
                      "medium": {
                        "type": "string",
                        "description": "URL to the medium sized image.",
                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                      },
                      "large": {
                        "type": "string",
                        "description": "URL to the large sized image.",
                        "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                      }
                    }
                  },
                  "description": {
                    "type": "string",
                    "description": "Descriptive text for the image.",
                    "example": "Dezentes grinsen."
                  },
                  "copyright": {
                    "type": "string",
                    "description": "Copyright holder of the image."
                  }
                }
              }
            }
          }
        },
        "components": {
          "type": "array",
          "description": "List of components to display the news.",
          "items": {
            "type": "object",
            "required": [
              "title",
              "text",
              "images",
              "position"
            ],
            "properties": {
              "title": {
                "type": "string",
                "description": "Headline of the component.",
                "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
              },
              "subhead": {
                "type": "string",
                "description": "Sub headline for the component.",
                "example": "Neuer Trainer"
              },
              "text": {
                "type": "string",
                "description": "Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
              },
              "text_original": {
                "type": "string",
                "readOnly": true,
                "description": "Original/untouched  text of the news component",
                "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
              },
              "images": {
                "type": "array",
                "description": "List of images.",
                "items": {
                  "type": "object",
                  "required": [
                    "url",
                    "description"
                  ],
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "URL of the image.",
                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                    },
                    "width": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "Width of the image.",
                      "example": 1140
                    },
                    "height": {
                      "type": "integer",
                      "readOnly": true,
                      "description": "Height of the image.",
                      "example": 840
                    },
                    "orientation": {
                      "type": "string",
                      "readOnly": true,
                      "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                      "example": "landscape"
                    },
                    "size": {
                      "type": "object",
                      "description": "Different sizes of the teaser image.",
                      "readOnly": true,
                      "properties": {
                        "small": {
                          "type": "string",
                          "description": "URL to the small sized image.",
                          "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                        },
                        "medium": {
                          "type": "string",
                          "description": "URL to the medium sized image.",
                          "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                        },
                        "large": {
                          "type": "string",
                          "description": "URL to the large sized image.",
                          "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                        }
                      }
                    },
                    "description": {
                      "type": "string",
                      "description": "Descriptive text for the image.",
                      "example": "Dezentes grinsen."
                    },
                    "copyright": {
                      "type": "string",
                      "description": "Copyright holder of the image."
                    }
                  }
                }
              }
            }
          }
        },
        "ranking": {
          "type": "integer",
          "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
          "example": 5
        },
        "send_as_notification": {
          "example": true,
          "default": false
        }
      }
    },
    "NewsActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "News activity.",
              "enum": [
                "news"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "description": "A news is divided into a teaser element and several components.\nEach component represents one element of the news body that can have its own headline, sub headline and images.\nA component does not necessarily have a text or images.\nAn example for a news component would be some image-gallery-like element of the news that only contains a headline and some images.\nTo display the whole news, all components have to be displayed.\n",
                  "required": [
                    "external_id",
                    "url",
                    "category",
                    "created_at",
                    "teaser",
                    "components"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "example": 42,
                      "description": "ID of the news."
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "keywords": {
                      "type": "array",
                      "description": "Array of keywords that describe the news.",
                      "example": [
                        "keyword"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "author": {
                      "type": "string",
                      "description": "Author of the news.",
                      "example": "Borussia Dortmund"
                    },
                    "url": {
                      "type": "string",
                      "description": "URL of the original news.",
                      "example": "http://www.bvb.de/News/Uebersicht/Ich-will-erfolgreich-sein-und-guten-Fussball-spielen-lassen"
                    },
                    "highlight": {
                      "type": "boolean",
                      "description": "Special type of news.",
                      "example": true,
                      "default": false
                    },
                    "prio": {
                      "type": "boolean",
                      "example": true,
                      "default": false
                    },
                    "category": {
                      "type": "string",
                      "description": "Category of the news.",
                      "example": "Nachricht"
                    },
                    "category_id": {
                      "type": "integer",
                      "description": "Category ID of the news.",
                      "example": 113
                    },
                    "additional_categories": {
                      "type": "array",
                      "description": "List of categories (maximum 10)",
                      "example": [
                        {
                          "category": "Additional Category 1",
                          "id": 17
                        },
                        {
                          "category": "Additional Category 2",
                          "id": 22
                        }
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "category": {
                            "type": "string",
                            "description": "Category Name.",
                            "example": "Nachricht"
                          },
                          "category_id": {
                            "type": "integer",
                            "description": "Category ID.",
                            "example": 113
                          }
                        }
                      }
                    },
                    "state": {
                      "type": "string",
                      "readOnly": true,
                      "enum": [
                        "in_progress",
                        "processed"
                      ],
                      "description": "* in_progress - Currently processing by the server.\n* processed - Processing is finished.\n"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "The UTC date/time at which the current object was created."
                    },
                    "published_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "The UTC date/time at which the news item was published."
                    },
                    "teaser": {
                      "type": "object",
                      "description": "Contains the headline and a short summary.",
                      "required": [
                        "title",
                        "text",
                        "images"
                      ],
                      "properties": {
                        "title": {
                          "type": "string",
                          "description": "Main title of the news.",
                          "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                        },
                        "text": {
                          "type": "string",
                          "description": "Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                          "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                        },
                        "text_original": {
                          "type": "string",
                          "readOnly": true,
                          "description": "Original/untouched  text of the news component",
                          "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                        },
                        "images": {
                          "type": "array",
                          "description": "List of images.",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "required": [
                              "url",
                              "description"
                            ],
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL of the image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              },
                              "width": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "Width of the image.",
                                "example": 1140
                              },
                              "height": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "Height of the image.",
                                "example": 840
                              },
                              "orientation": {
                                "type": "string",
                                "readOnly": true,
                                "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                "example": "landscape"
                              },
                              "size": {
                                "type": "object",
                                "description": "Different sizes of the teaser image.",
                                "readOnly": true,
                                "properties": {
                                  "small": {
                                    "type": "string",
                                    "description": "URL to the small sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL to the medium sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "large": {
                                    "type": "string",
                                    "description": "URL to the large sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  }
                                }
                              },
                              "description": {
                                "type": "string",
                                "description": "Descriptive text for the image.",
                                "example": "Dezentes grinsen."
                              },
                              "copyright": {
                                "type": "string",
                                "description": "Copyright holder of the image."
                              }
                            }
                          }
                        }
                      }
                    },
                    "components": {
                      "type": "array",
                      "description": "List of components to display the news.",
                      "items": {
                        "type": "object",
                        "required": [
                          "title",
                          "text",
                          "images",
                          "position"
                        ],
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "Headline of the component.",
                            "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                          },
                          "subhead": {
                            "type": "string",
                            "description": "Sub headline for the component.",
                            "example": "Neuer Trainer"
                          },
                          "text": {
                            "type": "string",
                            "description": "Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                            "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                          },
                          "text_original": {
                            "type": "string",
                            "readOnly": true,
                            "description": "Original/untouched  text of the news component",
                            "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                          },
                          "images": {
                            "type": "array",
                            "description": "List of images.",
                            "items": {
                              "type": "object",
                              "required": [
                                "url",
                                "description"
                              ],
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "description": "URL of the image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "width": {
                                  "type": "integer",
                                  "readOnly": true,
                                  "description": "Width of the image.",
                                  "example": 1140
                                },
                                "height": {
                                  "type": "integer",
                                  "readOnly": true,
                                  "description": "Height of the image.",
                                  "example": 840
                                },
                                "orientation": {
                                  "type": "string",
                                  "readOnly": true,
                                  "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                  "example": "landscape"
                                },
                                "size": {
                                  "type": "object",
                                  "description": "Different sizes of the teaser image.",
                                  "readOnly": true,
                                  "properties": {
                                    "small": {
                                      "type": "string",
                                      "description": "URL to the small sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    },
                                    "medium": {
                                      "type": "string",
                                      "description": "URL to the medium sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    },
                                    "large": {
                                      "type": "string",
                                      "description": "URL to the large sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    }
                                  }
                                },
                                "description": {
                                  "type": "string",
                                  "description": "Descriptive text for the image.",
                                  "example": "Dezentes grinsen."
                                },
                                "copyright": {
                                  "type": "string",
                                  "description": "Copyright holder of the image."
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "ranking": {
                      "type": "integer",
                      "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                      "example": 5
                    },
                    "send_as_notification": {
                      "example": true,
                      "default": false
                    }
                  }
                },
                {
                  "description": "Referenced news object."
                }
              ]
            }
          }
        }
      ]
    },
    "EventModeNewsActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "News activity.",
              "enum": [
                "news"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "description": "A news is divided into a teaser element and several components.\nEach component represents one element of the news body that can have its own headline, sub headline and images.\nA component does not necessarily have a text or images.\nAn example for a news component would be some image-gallery-like element of the news that only contains a headline and some images.\nTo display the whole news, all components have to be displayed.\n",
                  "required": [
                    "external_id",
                    "url",
                    "category",
                    "created_at",
                    "teaser",
                    "components"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer",
                      "readOnly": true,
                      "example": 42,
                      "description": "ID of the news."
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "keywords": {
                      "type": "array",
                      "description": "Array of keywords that describe the news.",
                      "example": [
                        "keyword"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "author": {
                      "type": "string",
                      "description": "Author of the news.",
                      "example": "Borussia Dortmund"
                    },
                    "url": {
                      "type": "string",
                      "description": "URL of the original news.",
                      "example": "http://www.bvb.de/News/Uebersicht/Ich-will-erfolgreich-sein-und-guten-Fussball-spielen-lassen"
                    },
                    "highlight": {
                      "type": "boolean",
                      "description": "Special type of news.",
                      "example": true,
                      "default": false
                    },
                    "prio": {
                      "type": "boolean",
                      "example": true,
                      "default": false
                    },
                    "category": {
                      "type": "string",
                      "description": "Category of the news.",
                      "example": "Nachricht"
                    },
                    "category_id": {
                      "type": "integer",
                      "description": "Category ID of the news.",
                      "example": 113
                    },
                    "additional_categories": {
                      "type": "array",
                      "description": "List of categories (maximum 10)",
                      "example": [
                        {
                          "category": "Additional Category 1",
                          "id": 17
                        },
                        {
                          "category": "Additional Category 2",
                          "id": 22
                        }
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "category": {
                            "type": "string",
                            "description": "Category Name.",
                            "example": "Nachricht"
                          },
                          "category_id": {
                            "type": "integer",
                            "description": "Category ID.",
                            "example": 113
                          }
                        }
                      }
                    },
                    "state": {
                      "type": "string",
                      "readOnly": true,
                      "enum": [
                        "in_progress",
                        "processed"
                      ],
                      "description": "* in_progress - Currently processing by the server.\n* processed - Processing is finished.\n"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "The UTC date/time at which the current object was created."
                    },
                    "published_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "The UTC date/time at which the news item was published."
                    },
                    "teaser": {
                      "type": "object",
                      "description": "Contains the headline and a short summary.",
                      "required": [
                        "title",
                        "text",
                        "images"
                      ],
                      "properties": {
                        "title": {
                          "type": "string",
                          "description": "Main title of the news.",
                          "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                        },
                        "text": {
                          "type": "string",
                          "description": "Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                          "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                        },
                        "text_original": {
                          "type": "string",
                          "readOnly": true,
                          "description": "Original/untouched  text of the news component",
                          "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                        },
                        "images": {
                          "type": "array",
                          "description": "List of images.",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "required": [
                              "url",
                              "description"
                            ],
                            "properties": {
                              "url": {
                                "type": "string",
                                "description": "URL of the image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              },
                              "width": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "Width of the image.",
                                "example": 1140
                              },
                              "height": {
                                "type": "integer",
                                "readOnly": true,
                                "description": "Height of the image.",
                                "example": 840
                              },
                              "orientation": {
                                "type": "string",
                                "readOnly": true,
                                "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                "example": "landscape"
                              },
                              "size": {
                                "type": "object",
                                "description": "Different sizes of the teaser image.",
                                "readOnly": true,
                                "properties": {
                                  "small": {
                                    "type": "string",
                                    "description": "URL to the small sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "medium": {
                                    "type": "string",
                                    "description": "URL to the medium sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  },
                                  "large": {
                                    "type": "string",
                                    "description": "URL to the large sized image.",
                                    "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                  }
                                }
                              },
                              "description": {
                                "type": "string",
                                "description": "Descriptive text for the image.",
                                "example": "Dezentes grinsen."
                              },
                              "copyright": {
                                "type": "string",
                                "description": "Copyright holder of the image."
                              }
                            }
                          }
                        }
                      }
                    },
                    "components": {
                      "type": "array",
                      "description": "List of components to display the news.",
                      "items": {
                        "type": "object",
                        "required": [
                          "title",
                          "text",
                          "images",
                          "position"
                        ],
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "Headline of the component.",
                            "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                          },
                          "subhead": {
                            "type": "string",
                            "description": "Sub headline for the component.",
                            "example": "Neuer Trainer"
                          },
                          "text": {
                            "type": "string",
                            "description": "Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                            "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                          },
                          "text_original": {
                            "type": "string",
                            "readOnly": true,
                            "description": "Original/untouched  text of the news component",
                            "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                          },
                          "images": {
                            "type": "array",
                            "description": "List of images.",
                            "items": {
                              "type": "object",
                              "required": [
                                "url",
                                "description"
                              ],
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "description": "URL of the image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "width": {
                                  "type": "integer",
                                  "readOnly": true,
                                  "description": "Width of the image.",
                                  "example": 1140
                                },
                                "height": {
                                  "type": "integer",
                                  "readOnly": true,
                                  "description": "Height of the image.",
                                  "example": 840
                                },
                                "orientation": {
                                  "type": "string",
                                  "readOnly": true,
                                  "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                                  "example": "landscape"
                                },
                                "size": {
                                  "type": "object",
                                  "description": "Different sizes of the teaser image.",
                                  "readOnly": true,
                                  "properties": {
                                    "small": {
                                      "type": "string",
                                      "description": "URL to the small sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    },
                                    "medium": {
                                      "type": "string",
                                      "description": "URL to the medium sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    },
                                    "large": {
                                      "type": "string",
                                      "description": "URL to the large sized image.",
                                      "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                    }
                                  }
                                },
                                "description": {
                                  "type": "string",
                                  "description": "Descriptive text for the image.",
                                  "example": "Dezentes grinsen."
                                },
                                "copyright": {
                                  "type": "string",
                                  "description": "Copyright holder of the image."
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "ranking": {
                      "type": "integer",
                      "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                      "example": 5
                    },
                    "send_as_notification": {
                      "example": true,
                      "default": false
                    }
                  }
                },
                {
                  "description": "Referenced news object."
                }
              ]
            }
          }
        }
      ]
    },
    "ProductActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Product activity.",
              "enum": [
                "product"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "id",
                    "name",
                    "article_number"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID of the product.",
                      "example": "4"
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of Product.",
                      "example": "Blue ball with club logo"
                    },
                    "headline": {
                      "type": "string",
                      "description": "Headline of product description.",
                      "example": "Awesome blue ball with club logo"
                    },
                    "description": {
                      "type": "string",
                      "description": "Product description.",
                      "example": "This ball is of the finest quality and shows\na colored logo of our beloved club.\nIt is of normal size comes filled with air.\n"
                    },
                    "call_to_action": {
                      "type": "string",
                      "description": "Call to action",
                      "example": "Bye this ball NOW!"
                    },
                    "article_number": {
                      "type": "string",
                      "description": "Article number of product. This can be the same value as the Id.\n",
                      "example": "00000123"
                    },
                    "external_url": {
                      "type": "string",
                      "description": "URL to the Product in the external shop system",
                      "example": "https://shop.example.com/00000123-ball-blue"
                    },
                    "price": {
                      "type": "object",
                      "description": "Detailed price information.",
                      "required": [
                        "currency",
                        "current"
                      ],
                      "properties": {
                        "currency": {
                          "type": "string",
                          "description": "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the used currency.\n",
                          "example": "EUR"
                        },
                        "discount": {
                          "type": "string",
                          "description": "The percentage by which this product is reduced in price.",
                          "example": "50"
                        },
                        "regular": {
                          "type": "string",
                          "description": "Regular sales price (not discounted).",
                          "example": "101.00"
                        },
                        "current": {
                          "type": "string",
                          "description": "Current sales price (discounted).",
                          "example": "50.50"
                        }
                      }
                    },
                    "images": {
                      "type": "array",
                      "description": "Images of Product.\nYou **MUST** supply **exactly** one image inside this array.\n",
                      "minItems": 1,
                      "maxItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "url"
                        ],
                        "properties": {
                          "url": {
                            "type": "string",
                            "description": "URL to image.",
                            "example": "https://example.com/kitten.png"
                          }
                        }
                      }
                    },
                    "teaser_image_url": {
                      "type": "string",
                      "description": "URL to teaser image of the product. This is a scaled down version of the original image which is optimized for preview purposes.\n",
                      "example": "https://example.com/kitten_teaser.png"
                    },
                    "external_id": {
                      "type": "string",
                      "description": "External ID of the product. This is only available for products which have been created via the API.",
                      "example": "42"
                    }
                  }
                },
                {
                  "description": "Referenced product object."
                }
              ]
            }
          }
        }
      ]
    },
    "PollsActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Poll activity.",
              "enum": [
                "polls_question"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of question."
                    },
                    "question": {
                      "type": "string",
                      "description": "Text with question."
                    },
                    "starts_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll starts."
                    },
                    "ends_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll ends."
                    },
                    "modified_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll last modified."
                    },
                    "votes_count": {
                      "type": "integer",
                      "description": "Number of total votes."
                    },
                    "status": {
                      "type": "string",
                      "description": "State of the poll.\n\n| value     | description              |\n|:----------|:-------------------------|\n| `pending` | has not started yet      |\n| `running` | is able to receive votes |\n| `closed`  | is closed                |\n",
                      "enum": [
                        "pending",
                        "running",
                        "closed"
                      ]
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "category": {
                      "type": "array",
                      "description": "List of categories the poll is associated with.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "handle": {
                            "type": "string",
                            "description": "Handle of the category."
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the category."
                          }
                        }
                      }
                    },
                    "choices": {
                      "type": "array",
                      "description": "List of choices of this poll.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the choice."
                          },
                          "text": {
                            "type": "string",
                            "description": "Text of the choice."
                          },
                          "votes_count": {
                            "type": "integer",
                            "description": "Number of votes for this choise."
                          }
                        }
                      }
                    }
                  }
                },
                {
                  "description": "Referenced poll object."
                }
              ]
            }
          }
        }
      ]
    },
    "EventModePollsActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Poll activity.",
              "enum": [
                "polls_question"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of question."
                    },
                    "question": {
                      "type": "string",
                      "description": "Text with question."
                    },
                    "starts_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll starts."
                    },
                    "ends_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll ends."
                    },
                    "modified_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the poll last modified."
                    },
                    "votes_count": {
                      "type": "integer",
                      "description": "Number of total votes."
                    },
                    "status": {
                      "type": "string",
                      "description": "State of the poll.\n\n| value     | description              |\n|:----------|:-------------------------|\n| `pending` | has not started yet      |\n| `running` | is able to receive votes |\n| `closed`  | is closed                |\n",
                      "enum": [
                        "pending",
                        "running",
                        "closed"
                      ]
                    },
                    "locale": {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    },
                    "category": {
                      "type": "array",
                      "description": "List of categories the poll is associated with.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "handle": {
                            "type": "string",
                            "description": "Handle of the category."
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the category."
                          }
                        }
                      }
                    },
                    "choices": {
                      "type": "array",
                      "description": "List of choices of this poll.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the choice."
                          },
                          "text": {
                            "type": "string",
                            "description": "Text of the choice."
                          },
                          "votes_count": {
                            "type": "integer",
                            "description": "Number of votes for this choise."
                          }
                        }
                      }
                    }
                  }
                },
                {
                  "description": "Referenced poll object."
                }
              ]
            }
          }
        }
      ]
    },
    "StatsActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "description": "Match statistic",
          "properties": {
            "type": {
              "type": "string",
              "description": "Statistic activity.",
              "enum": [
                "stats"
              ]
            },
            "source": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the statistic."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the statistic.",
                  "enum": [
                    "accurate_passes_in_percentage",
                    "corner_kicks",
                    "duels_won",
                    "duels_won_in_percentage",
                    "fouls_committed",
                    "offsides",
                    "posession",
                    "red_cards",
                    "shots",
                    "shots_on_goal",
                    "yellow_cards",
                    "yellow_red_cards"
                  ]
                },
                "absolute": {
                  "type": "boolean",
                  "description": "True if the value is absolute otherwise it's relative."
                },
                "values": {
                  "type": "array",
                  "description": "Statistic values. The first value belongs to the first team and the second value to the second team.",
                  "items": {
                    "type": "integer"
                  }
                },
                "teams": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer"
                      },
                      "club_id": {
                        "type": "integer"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match."
                },
                "injury_time_elapsed": {
                  "type": "integer",
                  "description": "Elapsed injury time in minutes."
                },
                "match_status": {
                  "type": "string",
                  "description": "| value      | description   |\n|:-----------|:--------------|\n| post-event | past match    |\n| mid-event  | running match |\n| halted     | match aborted |\n",
                  "enum": [
                    "post-event",
                    "mid-event",
                    "halted"
                  ]
                }
              }
            }
          }
        }
      ]
    },
    "SubstitutionCommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Commented substitution event.",
              "enum": [
                "substitution_comment_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the comment."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if this event was sent as notification."
                },
                "commenting_club_id": {
                  "type": "integer",
                  "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                }
              }
            },
            {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "replacing_player_id": {
                      "type": "integer",
                      "description": "ID of player who is replacing the leaving player."
                    },
                    "original_player_id": {
                      "type": "integer",
                      "description": "ID of player who is leaving the match."
                    },
                    "original_player_position": {
                      "type": "string",
                      "description": "Position in this match of the player who is leaving the match."
                    },
                    "replacing_player_position": {
                      "type": "string",
                      "description": "Position in this match of the player who is replacing the leaving player."
                    },
                    "replacing_player_regular_position": {
                      "type": "string",
                      "description": "Regular position of the player who is replacing the leaving player."
                    },
                    "team_id": {
                      "type": "integer",
                      "description": "ID of team which is substituding the player."
                    },
                    "club_id": {
                      "type": "integer",
                      "description": "ID of the club."
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "home_club_id": {
                      "type": "integer",
                      "description": "ID of home club."
                    },
                    "away_club_id": {
                      "type": "integer",
                      "description": "ID of away club."
                    },
                    "home_team_id": {
                      "type": "integer",
                      "description": "ID of home team."
                    },
                    "away_team_id": {
                      "type": "integer",
                      "description": "ID of away team."
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "SubstitutionCommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Substitution comment event activity.",
              "enum": [
                "substitution_comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                },
                {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "replacing_player_id": {
                          "type": "integer",
                          "description": "ID of player who is replacing the leaving player."
                        },
                        "original_player_id": {
                          "type": "integer",
                          "description": "ID of player who is leaving the match."
                        },
                        "original_player_position": {
                          "type": "string",
                          "description": "Position in this match of the player who is leaving the match."
                        },
                        "replacing_player_position": {
                          "type": "string",
                          "description": "Position in this match of the player who is replacing the leaving player."
                        },
                        "replacing_player_regular_position": {
                          "type": "string",
                          "description": "Regular position of the player who is replacing the leaving player."
                        },
                        "team_id": {
                          "type": "integer",
                          "description": "ID of team which is substituding the player."
                        },
                        "club_id": {
                          "type": "integer",
                          "description": "ID of the club."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "period": {
                          "type": "integer",
                          "description": "Period in which the event happend."
                        },
                        "minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match."
                        },
                        "period_minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match period."
                        },
                        "injury_time_elapsed": {
                          "type": "integer",
                          "description": "Elapsed injury time in minutes."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "home_club_id": {
                          "type": "integer",
                          "description": "ID of home club."
                        },
                        "away_club_id": {
                          "type": "integer",
                          "description": "ID of away club."
                        },
                        "home_team_id": {
                          "type": "integer",
                          "description": "ID of home team."
                        },
                        "away_team_id": {
                          "type": "integer",
                          "description": "ID of away team."
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    },
    "SubstitutionEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Substitution event.",
              "enum": [
                "substitution_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "replacing_player_id": {
                  "type": "integer",
                  "description": "ID of player who is replacing the leaving player."
                },
                "original_player_id": {
                  "type": "integer",
                  "description": "ID of player who is leaving the match."
                },
                "original_player_position": {
                  "type": "string",
                  "description": "Position in this match of the player who is leaving the match."
                },
                "replacing_player_position": {
                  "type": "string",
                  "description": "Position in this match of the player who is replacing the leaving player."
                },
                "replacing_player_regular_position": {
                  "type": "string",
                  "description": "Regular position of the player who is replacing the leaving player."
                },
                "team_id": {
                  "type": "integer",
                  "description": "ID of team which is substituding the player."
                },
                "club_id": {
                  "type": "integer",
                  "description": "ID of the club."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "period": {
                  "type": "integer",
                  "description": "Period in which the event happend."
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match."
                },
                "period_minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match period."
                },
                "injury_time_elapsed": {
                  "type": "integer",
                  "description": "Elapsed injury time in minutes."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "home_club_id": {
                  "type": "integer",
                  "description": "ID of home club."
                },
                "away_club_id": {
                  "type": "integer",
                  "description": "ID of away club."
                },
                "home_team_id": {
                  "type": "integer",
                  "description": "ID of home team."
                },
                "away_team_id": {
                  "type": "integer",
                  "description": "ID of away team."
                }
              }
            }
          ]
        }
      ]
    },
    "TeamLineupCompleteEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Team lineup complete event.",
              "enum": [
                "team_lineup_complete_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "team": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of team."
                    },
                    "alignment": {
                      "type": "string",
                      "description": "Alignment of the team.",
                      "enum": [
                        "away",
                        "home"
                      ]
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of the team."
                    },
                    "nickname": {
                      "type": "string",
                      "description": "Nickname of the team."
                    },
                    "formation": {
                      "type": "integer",
                      "description": "Formation the team used in this match.\n\nMore infos:\n- [31213](../formations.html#31213)\n- [31312](../formations.html#31312)\n- [3142](../formations.html#3142)\n- [3412](../formations.html#3412)\n- [3421](../formations.html#3421)\n- [343](../formations.html#343)\n- [3511](../formations.html#3511)\n- [352](../formations.html#352)\n- [41212](../formations.html#41212)\n- [4132](../formations.html#4132)\n- [4141](../formations.html#4141)\n- [4222](../formations.html#4222)\n- [4231](../formations.html#4231)\n- [4240](../formations.html#4240)\n- [4312](../formations.html#4312)\n- [4321](../formations.html#4321)\n- [433](../formations.html#433)\n- [4411](../formations.html#4411)\n- [442](../formations.html#442)\n- [451](../formations.html#451)\n- [532](../formations.html#532)\n- [541](../formations.html#541)\n",
                      "enum": [
                        31213,
                        31312,
                        3142,
                        3412,
                        3421,
                        343,
                        3511,
                        352,
                        41212,
                        4132,
                        4141,
                        4222,
                        4231,
                        4240,
                        4312,
                        4321,
                        433,
                        4411,
                        442,
                        451,
                        532,
                        541
                      ]
                    },
                    "club": {
                      "type": "object",
                      "description": "Club which the team is belongs to.",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the club."
                        }
                      }
                    },
                    "players": {
                      "type": "array",
                      "description": "List of players who has involved in this game.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID of the player."
                          },
                          "lastname": {
                            "type": "string",
                            "description": "Lastname of the player."
                          },
                          "firstname": {
                            "type": "string",
                            "description": "Firstname of the player."
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the player."
                          },
                          "nickname": {
                            "type": "string",
                            "description": "Nickname of the player."
                          },
                          "position_regular": {
                            "type": "string",
                            "description": "Position the player plays regularly.",
                            "enum": [
                              "Goalkeeper",
                              "Defender",
                              "Midfielder",
                              "Forward",
                              "Wing Back",
                              "Full Back",
                              "Central Defender",
                              "Defensive Midfielder",
                              "Attacking Midfielder",
                              "Central Midfielder",
                              "Winger",
                              "Striker",
                              "Second Striker",
                              "Left",
                              "Right",
                              "Centre",
                              "Left/Centre",
                              "Centre/Right",
                              "Left/Centre/Right",
                              "Left/Right"
                            ]
                          },
                          "position_match": {
                            "type": "string",
                            "description": "Position the player plays in this match.",
                            "enum": [
                              "goalie",
                              "defenseman",
                              "mid-fielder",
                              "forward",
                              "wing-back",
                              "full-back",
                              "central-defenseman",
                              "defensing-mid-fielder",
                              "attacking-mid-fielder",
                              "central-mid-fielder",
                              "winger",
                              "striker",
                              "second-striker",
                              "left",
                              "right",
                              "center",
                              "left-center",
                              "center-right",
                              "left-center-right",
                              "left-right"
                            ]
                          },
                          "formation_position": {
                            "type": "integer",
                            "description": "Position in the [formation](../formations.html) of the player."
                          },
                          "uniform_number": {
                            "type": "integer",
                            "description": "Number on uniform of the player."
                          },
                          "status": {
                            "type": "string",
                            "description": "| value      | description                |\n|:-----------|:---------------------------|\n| starter    | playing from the beginning |\n| substitute | on the bench               |\n",
                            "enum": [
                              "starter",
                              "substitute"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "home_club_id": {
                  "type": "integer",
                  "description": "ID of home club."
                },
                "away_club_id": {
                  "type": "integer",
                  "description": "ID of away club."
                },
                "home_team_id": {
                  "type": "integer",
                  "description": "ID of home team."
                },
                "away_team_id": {
                  "type": "integer",
                  "description": "ID of away team."
                }
              }
            }
          ]
        }
      ]
    },
    "TeamLineupCompleteEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Team lineup complete event activity.",
              "enum": [
                "team_lineup_complete_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "team": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of team."
                        },
                        "alignment": {
                          "type": "string",
                          "description": "Alignment of the team.",
                          "enum": [
                            "away",
                            "home"
                          ]
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the team."
                        },
                        "nickname": {
                          "type": "string",
                          "description": "Nickname of the team."
                        },
                        "formation": {
                          "type": "integer",
                          "description": "Formation the team used in this match.\n\nMore infos:\n- [31213](../formations.html#31213)\n- [31312](../formations.html#31312)\n- [3142](../formations.html#3142)\n- [3412](../formations.html#3412)\n- [3421](../formations.html#3421)\n- [343](../formations.html#343)\n- [3511](../formations.html#3511)\n- [352](../formations.html#352)\n- [41212](../formations.html#41212)\n- [4132](../formations.html#4132)\n- [4141](../formations.html#4141)\n- [4222](../formations.html#4222)\n- [4231](../formations.html#4231)\n- [4240](../formations.html#4240)\n- [4312](../formations.html#4312)\n- [4321](../formations.html#4321)\n- [433](../formations.html#433)\n- [4411](../formations.html#4411)\n- [442](../formations.html#442)\n- [451](../formations.html#451)\n- [532](../formations.html#532)\n- [541](../formations.html#541)\n",
                          "enum": [
                            31213,
                            31312,
                            3142,
                            3412,
                            3421,
                            343,
                            3511,
                            352,
                            41212,
                            4132,
                            4141,
                            4222,
                            4231,
                            4240,
                            4312,
                            4321,
                            433,
                            4411,
                            442,
                            451,
                            532,
                            541
                          ]
                        },
                        "club": {
                          "type": "object",
                          "description": "Club which the team is belongs to.",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID of the club."
                            }
                          }
                        },
                        "players": {
                          "type": "array",
                          "description": "List of players who has involved in this game.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "ID of the player."
                              },
                              "lastname": {
                                "type": "string",
                                "description": "Lastname of the player."
                              },
                              "firstname": {
                                "type": "string",
                                "description": "Firstname of the player."
                              },
                              "name": {
                                "type": "string",
                                "description": "Name of the player."
                              },
                              "nickname": {
                                "type": "string",
                                "description": "Nickname of the player."
                              },
                              "position_regular": {
                                "type": "string",
                                "description": "Position the player plays regularly.",
                                "enum": [
                                  "Goalkeeper",
                                  "Defender",
                                  "Midfielder",
                                  "Forward",
                                  "Wing Back",
                                  "Full Back",
                                  "Central Defender",
                                  "Defensive Midfielder",
                                  "Attacking Midfielder",
                                  "Central Midfielder",
                                  "Winger",
                                  "Striker",
                                  "Second Striker",
                                  "Left",
                                  "Right",
                                  "Centre",
                                  "Left/Centre",
                                  "Centre/Right",
                                  "Left/Centre/Right",
                                  "Left/Right"
                                ]
                              },
                              "position_match": {
                                "type": "string",
                                "description": "Position the player plays in this match.",
                                "enum": [
                                  "goalie",
                                  "defenseman",
                                  "mid-fielder",
                                  "forward",
                                  "wing-back",
                                  "full-back",
                                  "central-defenseman",
                                  "defensing-mid-fielder",
                                  "attacking-mid-fielder",
                                  "central-mid-fielder",
                                  "winger",
                                  "striker",
                                  "second-striker",
                                  "left",
                                  "right",
                                  "center",
                                  "left-center",
                                  "center-right",
                                  "left-center-right",
                                  "left-right"
                                ]
                              },
                              "formation_position": {
                                "type": "integer",
                                "description": "Position in the [formation](../formations.html) of the player."
                              },
                              "uniform_number": {
                                "type": "integer",
                                "description": "Number on uniform of the player."
                              },
                              "status": {
                                "type": "string",
                                "description": "| value      | description                |\n|:-----------|:---------------------------|\n| starter    | playing from the beginning |\n| substitute | on the bench               |\n",
                                "enum": [
                                  "starter",
                                  "substitute"
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "home_club_id": {
                      "type": "integer",
                      "description": "ID of home club."
                    },
                    "away_club_id": {
                      "type": "integer",
                      "description": "ID of away club."
                    },
                    "home_team_id": {
                      "type": "integer",
                      "description": "ID of home team."
                    },
                    "away_team_id": {
                      "type": "integer",
                      "description": "ID of away team."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "TextComponent": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the component."
            },
            "position": {
              "type": "integer",
              "description": "Position of the component. You **SHOULD** render the components in ascending order."
            },
            "type": {
              "type": "string"
            },
            "html": {
              "type": "string",
              "description": "HTML formatted content of the component."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Text component.",
              "enum": [
                "text"
              ]
            },
            "html": {
              "type": "string",
              "description": "HTML formatted text. Clients **SHOULD** at least handle the following tags: `b`, `i`, `u`, `a`, `ul`, `ol`, `li`, `blockquote`, `br`, `p`.\n"
            }
          }
        }
      ]
    },
    "TimetableActionCommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Commented timetable action event.",
              "enum": [
                "timetable_action_comment_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the comment."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if this event was sent as notification."
                },
                "commenting_club_id": {
                  "type": "integer",
                  "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                }
              }
            },
            {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "| value        | description                                                                                                                      |\n|:-------------|:---------------------------------------------------------------------------------------------------------------------------------|\n| `period-start` | Start of a period. First `period_start` event indicates the beginning of the match.                                            |\n| `period-end`   | End of a period.                                                                                                               |\n| `event-end`    | End of the match. Matches where e.g. penalty shootout is possible the `event-end` event indicates if there will be a shootout. |\n"
                    },
                    "match_summary_text": {
                      "type": "string",
                      "description": "Summary of the match.\n\nIs only set if `type` is `event-end`.\n"
                    },
                    "home_team_final_score": {
                      "type": "integer",
                      "description": "Score of home team when timetable action occured."
                    },
                    "guest_team_final_score": {
                      "type": "integer",
                      "description": "Score of guest team when timetable action occured."
                    },
                    "home_team_emblem_url": {
                      "type": "object",
                      "description": "The club emblem in different resolutions.",
                      "properties": {
                        "medium": {
                          "type": "string",
                          "description": "URL to the image in medium resolution (300x300>)."
                        },
                        "mini": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (36x36>)."
                        },
                        "small": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (70x70>)."
                        }
                      }
                    },
                    "guest_team_emblem_url": {
                      "type": "object",
                      "description": "The club emblem in different resolutions.",
                      "properties": {
                        "medium": {
                          "type": "string",
                          "description": "URL to the image in medium resolution (300x300>)."
                        },
                        "mini": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (36x36>)."
                        },
                        "small": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (70x70>)."
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "home_club_id": {
                      "type": "integer",
                      "description": "ID of home club."
                    },
                    "away_club_id": {
                      "type": "integer",
                      "description": "ID of away club."
                    },
                    "home_team_id": {
                      "type": "integer",
                      "description": "ID of home team."
                    },
                    "away_team_id": {
                      "type": "integer",
                      "description": "ID of away team."
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "TimetableActionCommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Timetable action comment event activity.",
              "enum": [
                "timetable_action_comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                },
                {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "| value        | description                                                                                                                      |\n|:-------------|:---------------------------------------------------------------------------------------------------------------------------------|\n| `period-start` | Start of a period. First `period_start` event indicates the beginning of the match.                                            |\n| `period-end`   | End of a period.                                                                                                               |\n| `event-end`    | End of the match. Matches where e.g. penalty shootout is possible the `event-end` event indicates if there will be a shootout. |\n"
                        },
                        "match_summary_text": {
                          "type": "string",
                          "description": "Summary of the match.\n\nIs only set if `type` is `event-end`.\n"
                        },
                        "home_team_final_score": {
                          "type": "integer",
                          "description": "Score of home team when timetable action occured."
                        },
                        "guest_team_final_score": {
                          "type": "integer",
                          "description": "Score of guest team when timetable action occured."
                        },
                        "home_team_emblem_url": {
                          "type": "object",
                          "description": "The club emblem in different resolutions.",
                          "properties": {
                            "medium": {
                              "type": "string",
                              "description": "URL to the image in medium resolution (300x300>)."
                            },
                            "mini": {
                              "type": "string",
                              "description": "URL to the image in mini resolution (36x36>)."
                            },
                            "small": {
                              "type": "string",
                              "description": "URL to the image in mini resolution (70x70>)."
                            }
                          }
                        },
                        "guest_team_emblem_url": {
                          "type": "object",
                          "description": "The club emblem in different resolutions.",
                          "properties": {
                            "medium": {
                              "type": "string",
                              "description": "URL to the image in medium resolution (300x300>)."
                            },
                            "mini": {
                              "type": "string",
                              "description": "URL to the image in mini resolution (36x36>)."
                            },
                            "small": {
                              "type": "string",
                              "description": "URL to the image in mini resolution (70x70>)."
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "period": {
                          "type": "integer",
                          "description": "Period in which the event happend."
                        },
                        "minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match."
                        },
                        "period_minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match period."
                        },
                        "injury_time_elapsed": {
                          "type": "integer",
                          "description": "Elapsed injury time in minutes."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "home_club_id": {
                          "type": "integer",
                          "description": "ID of home club."
                        },
                        "away_club_id": {
                          "type": "integer",
                          "description": "ID of away club."
                        },
                        "home_team_id": {
                          "type": "integer",
                          "description": "ID of home team."
                        },
                        "away_team_id": {
                          "type": "integer",
                          "description": "ID of away team."
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    },
    "TimetableActionEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "description": "Timetable action event.",
              "enum": [
                "timetable_action_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "| value        | description                                                                                                                      |\n|:-------------|:---------------------------------------------------------------------------------------------------------------------------------|\n| `period-start` | Start of a period. First `period_start` event indicates the beginning of the match.                                            |\n| `period-end`   | End of a period.                                                                                                               |\n| `event-end`    | End of the match. Matches where e.g. penalty shootout is possible the `event-end` event indicates if there will be a shootout. |\n"
                },
                "match_summary_text": {
                  "type": "string",
                  "description": "Summary of the match.\n\nIs only set if `type` is `event-end`.\n"
                },
                "home_team_final_score": {
                  "type": "integer",
                  "description": "Score of home team when timetable action occured."
                },
                "guest_team_final_score": {
                  "type": "integer",
                  "description": "Score of guest team when timetable action occured."
                },
                "home_team_emblem_url": {
                  "type": "object",
                  "description": "The club emblem in different resolutions.",
                  "properties": {
                    "medium": {
                      "type": "string",
                      "description": "URL to the image in medium resolution (300x300>)."
                    },
                    "mini": {
                      "type": "string",
                      "description": "URL to the image in mini resolution (36x36>)."
                    },
                    "small": {
                      "type": "string",
                      "description": "URL to the image in mini resolution (70x70>)."
                    }
                  }
                },
                "guest_team_emblem_url": {
                  "type": "object",
                  "description": "The club emblem in different resolutions.",
                  "properties": {
                    "medium": {
                      "type": "string",
                      "description": "URL to the image in medium resolution (300x300>)."
                    },
                    "mini": {
                      "type": "string",
                      "description": "URL to the image in mini resolution (36x36>)."
                    },
                    "small": {
                      "type": "string",
                      "description": "URL to the image in mini resolution (70x70>)."
                    }
                  }
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "period": {
                  "type": "integer",
                  "description": "Period in which the event happend."
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match."
                },
                "period_minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match period."
                },
                "injury_time_elapsed": {
                  "type": "integer",
                  "description": "Elapsed injury time in minutes."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "home_club_id": {
                  "type": "integer",
                  "description": "ID of home club."
                },
                "away_club_id": {
                  "type": "integer",
                  "description": "ID of away club."
                },
                "home_team_id": {
                  "type": "integer",
                  "description": "ID of home team."
                },
                "away_team_id": {
                  "type": "integer",
                  "description": "ID of away team."
                }
              }
            }
          ]
        }
      ]
    },
    "TimetableActionEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Timetable action activity.",
              "enum": [
                "timetable_action_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "| value        | description                                                                                                                      |\n|:-------------|:---------------------------------------------------------------------------------------------------------------------------------|\n| `period-start` | Start of a period. First `period_start` event indicates the beginning of the match.                                            |\n| `period-end`   | End of a period.                                                                                                               |\n| `event-end`    | End of the match. Matches where e.g. penalty shootout is possible the `event-end` event indicates if there will be a shootout. |\n"
                    },
                    "match_summary_text": {
                      "type": "string",
                      "description": "Summary of the match.\n\nIs only set if `type` is `event-end`.\n"
                    },
                    "home_team_final_score": {
                      "type": "integer",
                      "description": "Score of home team when timetable action occured."
                    },
                    "guest_team_final_score": {
                      "type": "integer",
                      "description": "Score of guest team when timetable action occured."
                    },
                    "home_team_emblem_url": {
                      "type": "object",
                      "description": "The club emblem in different resolutions.",
                      "properties": {
                        "medium": {
                          "type": "string",
                          "description": "URL to the image in medium resolution (300x300>)."
                        },
                        "mini": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (36x36>)."
                        },
                        "small": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (70x70>)."
                        }
                      }
                    },
                    "guest_team_emblem_url": {
                      "type": "object",
                      "description": "The club emblem in different resolutions.",
                      "properties": {
                        "medium": {
                          "type": "string",
                          "description": "URL to the image in medium resolution (300x300>)."
                        },
                        "mini": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (36x36>)."
                        },
                        "small": {
                          "type": "string",
                          "description": "URL to the image in mini resolution (70x70>)."
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "home_club_id": {
                      "type": "integer",
                      "description": "ID of home club."
                    },
                    "away_club_id": {
                      "type": "integer",
                      "description": "ID of away club."
                    },
                    "home_team_id": {
                      "type": "integer",
                      "description": "ID of home team."
                    },
                    "away_team_id": {
                      "type": "integer",
                      "description": "ID of away team."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "TwitterPost": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "type",
          "discriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the post."
            },
            "external_id": {
              "type": "integer",
              "description": "ID of the external post."
            },
            "external_url": {
              "type": "string",
              "description": "URL to the external resource."
            },
            "published_at": {
              "type": "string",
              "format": "date-time",
              "description": "Date and time when the post was published."
            },
            "profile_image_url": {
              "type": "string",
              "description": "URL to the profile image."
            },
            "image": {
              "type": "object",
              "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
              "properties": {
                "medium": {
                  "type": "object",
                  "description": "Image with max size of 640 x 640 pixels.",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "URL to a video if the activity source contains one."
                    }
                  }
                }
              }
            },
            "image_url": {
              "type": "string",
              "description": "URL to the image which is associated with the post."
            },
            "image_width": {
              "type": "integer",
              "description": "Width in pixels of the image."
            },
            "image_height": {
              "type": "integer",
              "description": "Height in pixels of the image."
            },
            "video_url": {
              "type": "string",
              "description": "URL to the video which is associated with the post."
            },
            "account": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the account."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the account."
                },
                "group_id": {
                  "type": "integer",
                  "description": "ID of the group which is associated to this account."
                },
                "username": {
                  "type": "string",
                  "description": "Username of the account."
                },
                "full_name": {
                  "type": "string",
                  "description": "Full name of the account."
                },
                "display_name": {
                  "type": "string",
                  "description": "Display name of the account."
                },
                "handle": {
                  "type": "string",
                  "description": "Handle"
                }
              }
            },
            "type": {
              "type": "string"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "tweet"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "source": {
              "type": "object",
              "description": "See develop documentation on [https://dev.twitter.com/docs](https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid).\n",
              "externalDocs": {
                "description": "Twitter",
                "url": "https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "TwitterPostActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Twitter activity.",
              "enum": [
                "tweet"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "source": {
              "type": "object",
              "description": "See develop documentation on [https://dev.twitter.com/docs](https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid).\n",
              "externalDocs": {
                "description": "Twitter",
                "url": "https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "EventModeTwitterPostActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Twitter activity.",
              "enum": [
                "tweet"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "source": {
              "type": "object",
              "description": "See develop documentation on [https://dev.twitter.com/docs](https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid).\n",
              "externalDocs": {
                "description": "Twitter",
                "url": "https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "YoutubeVideo": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "type",
          "discriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the post."
            },
            "external_id": {
              "type": "integer",
              "description": "ID of the external post."
            },
            "external_url": {
              "type": "string",
              "description": "URL to the external resource."
            },
            "published_at": {
              "type": "string",
              "format": "date-time",
              "description": "Date and time when the post was published."
            },
            "profile_image_url": {
              "type": "string",
              "description": "URL to the profile image."
            },
            "image": {
              "type": "object",
              "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
              "properties": {
                "medium": {
                  "type": "object",
                  "description": "Image with max size of 640 x 640 pixels.",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "URL to a video if the activity source contains one."
                    }
                  }
                }
              }
            },
            "image_url": {
              "type": "string",
              "description": "URL to the image which is associated with the post."
            },
            "image_width": {
              "type": "integer",
              "description": "Width in pixels of the image."
            },
            "image_height": {
              "type": "integer",
              "description": "Height in pixels of the image."
            },
            "video_url": {
              "type": "string",
              "description": "URL to the video which is associated with the post."
            },
            "account": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the account."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the account."
                },
                "group_id": {
                  "type": "integer",
                  "description": "ID of the group which is associated to this account."
                },
                "username": {
                  "type": "string",
                  "description": "Username of the account."
                },
                "full_name": {
                  "type": "string",
                  "description": "Full name of the account."
                },
                "display_name": {
                  "type": "string",
                  "description": "Display name of the account."
                },
                "handle": {
                  "type": "string",
                  "description": "Handle"
                }
              }
            },
            "type": {
              "type": "string"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "youtube_video"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Youtube video activity.",
              "enum": [
                "youtube_video"
              ]
            },
            "source": {
              "type": "object",
              "description": "See develop documentation on [https://developers.google.com/youtube](https://developers.google.com/youtube/v3/docs/playlistItems#resource).\n",
              "externalDocs": {
                "description": "Youtube",
                "url": "https://developers.google.com/youtube/v3/docs/playlistItems#resource"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "YoutubeVideoActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Youtube video activity.",
              "enum": [
                "youtube_video"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Youtube video activity.",
              "enum": [
                "youtube_video"
              ]
            },
            "source": {
              "type": "object",
              "description": "See develop documentation on [https://developers.google.com/youtube](https://developers.google.com/youtube/v3/docs/playlistItems#resource).\n",
              "externalDocs": {
                "description": "Youtube",
                "url": "https://developers.google.com/youtube/v3/docs/playlistItems#resource"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "EventModeYoutubeVideoActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Youtube video activity.",
              "enum": [
                "youtube_video"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Youtube video activity.",
              "enum": [
                "youtube_video"
              ]
            },
            "source": {
              "type": "object",
              "description": "See develop documentation on [https://developers.google.com/youtube](https://developers.google.com/youtube/v3/docs/playlistItems#resource).\n",
              "externalDocs": {
                "description": "Youtube",
                "url": "https://developers.google.com/youtube/v3/docs/playlistItems#resource"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "ManualPost": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID of the manual post."
        },
        "title": {
          "type": "string",
          "description": "Title describing the post's content."
        },
        "url": {
          "type": "string",
          "description": "URL provided with the image. For Audio attachments it is always empty string.",
          "example": "https://www.coca-colacompany.com/"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "The UTC date/time at which the current object was created."
        },
        "locale": {
          "type": "string",
          "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
          "example": "de-DE",
          "pattern": "[a-z]{2}-[A-Z]{2}"
        },
        "attachment": {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "type": {
              "type": "string",
              "description": "Type of the attachment."
            }
          }
        }
      }
    },
    "Attachment": {
      "type": "object",
      "discriminator": "type",
      "x-extendedDiscriminator": "type",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the attachment."
        }
      }
    },
    "ImageAttachment": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "type": {
              "type": "string",
              "description": "Type of the attachment."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Image attachment.",
              "enum": [
                "image_attachment"
              ]
            },
            "file": {
              "type": "object",
              "description": "The post's attached image, in different sizes.",
              "properties": {
                "small": {
                  "type": "string",
                  "description": "URL to the small sized image.",
                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                },
                "medium": {
                  "type": "string",
                  "description": "URL to the medium sized image.",
                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpgw"
                },
                "large": {
                  "type": "string",
                  "description": "URL to the large sized image.",
                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                }
              }
            }
          }
        }
      ]
    },
    "AudioAttachment": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "type": {
              "type": "string",
              "description": "Type of the attachment."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Audio attachment.",
              "enum": [
                "audio_attachment"
              ]
            },
            "file": {
              "type": "object",
              "description": "The post's attached audio file.",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "URL to the raw audio file."
                }
              }
            }
          }
        }
      ]
    },
    "VarDecisionCommentEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "enum": [
                "var_decision_comment_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the comment."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if this event was sent as notification."
                },
                "commenting_club_id": {
                  "type": "integer",
                  "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                }
              }
            },
            {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "reviewing": {
                      "type": "string",
                      "description": "| value                        | description                                                                                               |\n|:-----------------------------|:----------------------------------------------------------------------------------------------------------|\n| `goal`                       | Video Assistant Referee is investigating a potential goal                                                 |\n| `penalty_awarded`            | Video Assistant Referee is investigating a potential penalty                                              |\n| `penalty_not_awarded`        | Video Assistant Referee is investigating a potential penalty that was originally not awarded              |\n| `card_upgrade`               | Video Assistant Referee is investigating whether a yellow card should be upgraded to a red card           |\n| `mistaken_identity`          | Video Assistant Referee is investigating a potential case of mistaken identity                            |\n| `referee_decision_confirmed` | The decision has been confirmed                                                                           |\n| `referee_decision_cancelled` | The decision has been cancelled                                                                           |\n| `goal_not_awarded`           | Video Assistant Referee has been asked to look at an event/shot that was originally not awarded as a goal |\n| `red_card_given`             | Video Assistant Referee has been asked to look at an event where a red card was awarded                   |\n| `review`                     | Under review                                                                                              |\n",
                      "enum": [
                        "goal",
                        "penalty_awarded",
                        "penalty_not_awarded",
                        "card_upgrade",
                        "mistaken_identity",
                        "referee_decision_confirmed",
                        "referee_decision_cancelled",
                        "goal_not_awarded",
                        "red_card_given",
                        "review"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "VarDecisionCommentEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "VAR decision comment event activity.",
              "enum": [
                "var_decision_comment_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the comment."
                    },
                    "send_as_notification": {
                      "type": "boolean",
                      "description": "True if this event was sent as notification."
                    },
                    "commenting_club_id": {
                      "type": "integer",
                      "description": "ID of the club who commented this event.\n\nWe consider this field deprecated and it **SHOULD** be ignored!\nWe will remove it at some point in the future.\n"
                    }
                  }
                },
                {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "reviewing": {
                          "type": "string",
                          "description": "| value                        | description                                                                                               |\n|:-----------------------------|:----------------------------------------------------------------------------------------------------------|\n| `goal`                       | Video Assistant Referee is investigating a potential goal                                                 |\n| `penalty_awarded`            | Video Assistant Referee is investigating a potential penalty                                              |\n| `penalty_not_awarded`        | Video Assistant Referee is investigating a potential penalty that was originally not awarded              |\n| `card_upgrade`               | Video Assistant Referee is investigating whether a yellow card should be upgraded to a red card           |\n| `mistaken_identity`          | Video Assistant Referee is investigating a potential case of mistaken identity                            |\n| `referee_decision_confirmed` | The decision has been confirmed                                                                           |\n| `referee_decision_cancelled` | The decision has been cancelled                                                                           |\n| `goal_not_awarded`           | Video Assistant Referee has been asked to look at an event/shot that was originally not awarded as a goal |\n| `red_card_given`             | Video Assistant Referee has been asked to look at an event where a red card was awarded                   |\n| `review`                     | Under review                                                                                              |\n",
                          "enum": [
                            "goal",
                            "penalty_awarded",
                            "penalty_not_awarded",
                            "card_upgrade",
                            "mistaken_identity",
                            "referee_decision_confirmed",
                            "referee_decision_cancelled",
                            "goal_not_awarded",
                            "red_card_given",
                            "review"
                          ]
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "period": {
                          "type": "integer",
                          "description": "Period in which the event happend."
                        },
                        "minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match."
                        },
                        "period_minutes_elapsed": {
                          "type": "integer",
                          "description": "Elapsed minutes of the match period."
                        },
                        "injury_time_elapsed": {
                          "type": "integer",
                          "description": "Elapsed injury time in minutes."
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    },
    "VarDecisionEvent": {
      "allOf": [
        {
          "type": "object",
          "x-extendedDiscriminator": "event_type",
          "discriminator": "event_type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the event."
            },
            "comment": {
              "type": "string",
              "description": "Comment to this event.\n\n**NOTE**: the info will always be in the locale which is provide\n"
            },
            "match_id": {
              "type": "integer",
              "description": "ID of match the event belongs to."
            },
            "season_id": {
              "type": "integer",
              "description": "ID of season the event belongs to."
            },
            "tournament_id": {
              "type": "integer",
              "description": "ID of tournament the event belongs to."
            },
            "time": {
              "type": "string",
              "format": "date-time",
              "description": "Time in which the event happened."
            },
            "event_type": {
              "type": "string",
              "description": "Type of the event."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "event_type": {
              "type": "string",
              "enum": [
                "var_decision_event"
              ]
            }
          }
        },
        {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "reviewing": {
                  "type": "string",
                  "description": "| value                        | description                                                                                               |\n|:-----------------------------|:----------------------------------------------------------------------------------------------------------|\n| `goal`                       | Video Assistant Referee is investigating a potential goal                                                 |\n| `penalty_awarded`            | Video Assistant Referee is investigating a potential penalty                                              |\n| `penalty_not_awarded`        | Video Assistant Referee is investigating a potential penalty that was originally not awarded              |\n| `card_upgrade`               | Video Assistant Referee is investigating whether a yellow card should be upgraded to a red card           |\n| `mistaken_identity`          | Video Assistant Referee is investigating a potential case of mistaken identity                            |\n| `referee_decision_confirmed` | The decision has been confirmed                                                                           |\n| `referee_decision_cancelled` | The decision has been cancelled                                                                           |\n| `goal_not_awarded`           | Video Assistant Referee has been asked to look at an event/shot that was originally not awarded as a goal |\n| `red_card_given`             | Video Assistant Referee has been asked to look at an event where a red card was awarded                   |\n| `review`                     | Under review                                                                                              |\n",
                  "enum": [
                    "goal",
                    "penalty_awarded",
                    "penalty_not_awarded",
                    "card_upgrade",
                    "mistaken_identity",
                    "referee_decision_confirmed",
                    "referee_decision_cancelled",
                    "goal_not_awarded",
                    "red_card_given",
                    "review"
                  ]
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "period": {
                  "type": "integer",
                  "description": "Period in which the event happend."
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match."
                },
                "period_minutes_elapsed": {
                  "type": "integer",
                  "description": "Elapsed minutes of the match period."
                },
                "injury_time_elapsed": {
                  "type": "integer",
                  "description": "Elapsed injury time in minutes."
                }
              }
            }
          ]
        }
      ]
    },
    "VarDecisionEventActivity": {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "x-extendedDiscriminator": "type",
              "discriminator": "type",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "ID of the actvity."
                },
                "comment": {
                  "type": "string",
                  "description": "Comment of the activity."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when the activity was published."
                },
                "image": {
                  "type": "object",
                  "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                  "properties": {
                    "medium": {
                      "type": "object",
                      "description": "Image with max size of 640 x 640 pixels.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL to a video if the activity source contains one."
                        }
                      }
                    }
                  }
                },
                "image_url": {
                  "type": "string",
                  "description": "URL to the image referenced by the activity."
                },
                "image_width": {
                  "type": "integer",
                  "description": "Width in pixels of the image."
                },
                "image_height": {
                  "type": "integer",
                  "description": "Height in pixels of the image."
                },
                "send_as_notification": {
                  "type": "boolean",
                  "description": "True if the activity was send as notification."
                },
                "profile_image_url": {
                  "type": "boolean",
                  "description": "URL to the profile image referenced by the activity."
                },
                "account": {
                  "type": "object",
                  "description": "Detailed information about the account referenced by the activity.\n\nOnly available if `type` is one of these:\n* `tweet`\n* `facebook_post`\n* `youtube_video`\n* `graph_instagram_post`\n"
                },
                "type": {
                  "type": "string",
                  "description": "Type of the attached source."
                },
                "external_id": {
                  "type": "string",
                  "description": "External ID of the activity."
                },
                "external_url": {
                  "type": "string",
                  "description": "External URL of the activity."
                },
                "video_url": {
                  "type": "string",
                  "description": "URL to a video if the activity source contains one."
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "audience": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID of the audience."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the audience."
                      },
                      "handle": {
                        "type": "string",
                        "description": "Handle of the audience.\n\nEvery club has its own set of handles. Handles above are the defaults:\n* `home`\n* `stadium`\n* `on_the_way`\n\n> The client **MUST** work with a changed set of handles.\n"
                      }
                    }
                  }
                },
                "minutes_elapsed": {
                  "type": "integer",
                  "description": "Minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\n"
                },
                "injury_minutes_elapsed": {
                  "type": "integer",
                  "description": "Injury minute of the match this event was published at. `null` if not\napplicable to the event's `type`.\nAdditionally, this value is `null` if:\n* The event was published prior to the match.\n* The event was published after the match.\n* The event was published in between of any two periods (e.g. halftime break).\n* The event is in penalty shootout.\n"
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "VAR decision activity.",
              "enum": [
                "var_decision_event"
              ]
            },
            "source": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "reviewing": {
                      "type": "string",
                      "description": "| value                        | description                                                                                               |\n|:-----------------------------|:----------------------------------------------------------------------------------------------------------|\n| `goal`                       | Video Assistant Referee is investigating a potential goal                                                 |\n| `penalty_awarded`            | Video Assistant Referee is investigating a potential penalty                                              |\n| `penalty_not_awarded`        | Video Assistant Referee is investigating a potential penalty that was originally not awarded              |\n| `card_upgrade`               | Video Assistant Referee is investigating whether a yellow card should be upgraded to a red card           |\n| `mistaken_identity`          | Video Assistant Referee is investigating a potential case of mistaken identity                            |\n| `referee_decision_confirmed` | The decision has been confirmed                                                                           |\n| `referee_decision_cancelled` | The decision has been cancelled                                                                           |\n| `goal_not_awarded`           | Video Assistant Referee has been asked to look at an event/shot that was originally not awarded as a goal |\n| `red_card_given`             | Video Assistant Referee has been asked to look at an event where a red card was awarded                   |\n| `review`                     | Under review                                                                                              |\n",
                      "enum": [
                        "goal",
                        "penalty_awarded",
                        "penalty_not_awarded",
                        "card_upgrade",
                        "mistaken_identity",
                        "referee_decision_confirmed",
                        "referee_decision_cancelled",
                        "goal_not_awarded",
                        "red_card_given",
                        "review"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "period": {
                      "type": "integer",
                      "description": "Period in which the event happend."
                    },
                    "minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match."
                    },
                    "period_minutes_elapsed": {
                      "type": "integer",
                      "description": "Elapsed minutes of the match period."
                    },
                    "injury_time_elapsed": {
                      "type": "integer",
                      "description": "Elapsed injury time in minutes."
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "Broadcast": {
      "type": "object",
      "properties": {
        "match_id": {
          "type": "integer",
          "description": "ID of the covered match."
        },
        "light_logo_url": {
          "type": "string",
          "description": "URL of the broadcaster's light logo."
        },
        "light_logo_category": {
          "type": "string",
          "description": "Type of the broadcaster's light logo.",
          "enum": [
            "unknown",
            "compact",
            "regular",
            "wide"
          ]
        },
        "dark_logo_url": {
          "type": "string",
          "description": "URL of the broadcaster's dark logo."
        },
        "dark_logo_category": {
          "type": "string",
          "description": "Type of the broadcaster's dark logo.",
          "enum": [
            "unknown",
            "compact",
            "regular",
            "wide"
          ]
        },
        "broadcaster_name": {
          "type": "string",
          "description": "Name of the broadcaster."
        },
        "local_start_date_time": {
          "type": "string",
          "format": "date-time",
          "description": "Local start time of the broadcast."
        },
        "link_rel": {
          "type": "string",
          "description": "Type of link to the broadcast.",
          "enum": [
            "facebook",
            "twitter",
            "homepage",
            "whatsapp",
            "google_plus",
            "generic_link"
          ]
        },
        "link_href": {
          "type": "string",
          "description": "Link to the broadcast."
        },
        "country": {
          "type": "string",
          "description": "ISO 3166-1 two-letter country code specifying the location of the\nbroadcast.\n"
        }
      }
    },
    "NewsStream": {
      "type": "object",
      "properties": {
        "handle": {
          "type": "string",
          "description": "Handle of the news stream."
        },
        "items": {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the item."
            },
            "type": {
              "type": "string",
              "description": "Type of the item."
            }
          }
        }
      }
    },
    "NewsStreamItem": {
      "type": "object",
      "discriminator": "type",
      "x-extendedDiscriminator": "type",
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID of the item."
        },
        "type": {
          "type": "string",
          "description": "Type of the item."
        }
      }
    },
    "NewsStreamNewsItem": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the item."
            },
            "type": {
              "type": "string",
              "description": "Type of the item."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "news_item"
              ]
            },
            "target": {
              "type": "object",
              "description": "A news is divided into a teaser element and several components.\nEach component represents one element of the news body that can have its own headline, sub headline and images.\nA component does not necessarily have a text or images.\nAn example for a news component would be some image-gallery-like element of the news that only contains a headline and some images.\nTo display the whole news, all components have to be displayed.\n",
              "required": [
                "external_id",
                "url",
                "category",
                "created_at",
                "teaser",
                "components"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "readOnly": true,
                  "example": 42,
                  "description": "ID of the news."
                },
                "locale": {
                  "type": "string",
                  "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                  "example": "de-DE",
                  "pattern": "[a-z]{2}-[A-Z]{2}"
                },
                "keywords": {
                  "type": "array",
                  "description": "Array of keywords that describe the news.",
                  "example": [
                    "keyword"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "author": {
                  "type": "string",
                  "description": "Author of the news.",
                  "example": "Borussia Dortmund"
                },
                "url": {
                  "type": "string",
                  "description": "URL of the original news.",
                  "example": "http://www.bvb.de/News/Uebersicht/Ich-will-erfolgreich-sein-und-guten-Fussball-spielen-lassen"
                },
                "highlight": {
                  "type": "boolean",
                  "description": "Special type of news.",
                  "example": true,
                  "default": false
                },
                "prio": {
                  "type": "boolean",
                  "example": true,
                  "default": false
                },
                "category": {
                  "type": "string",
                  "description": "Category of the news.",
                  "example": "Nachricht"
                },
                "category_id": {
                  "type": "integer",
                  "description": "Category ID of the news.",
                  "example": 113
                },
                "additional_categories": {
                  "type": "array",
                  "description": "List of categories (maximum 10)",
                  "example": [
                    {
                      "category": "Additional Category 1",
                      "id": 17
                    },
                    {
                      "category": "Additional Category 2",
                      "id": 22
                    }
                  ],
                  "items": {
                    "type": "object",
                    "properties": {
                      "category": {
                        "type": "string",
                        "description": "Category Name.",
                        "example": "Nachricht"
                      },
                      "category_id": {
                        "type": "integer",
                        "description": "Category ID.",
                        "example": 113
                      }
                    }
                  }
                },
                "state": {
                  "type": "string",
                  "readOnly": true,
                  "enum": [
                    "in_progress",
                    "processed"
                  ],
                  "description": "* in_progress - Currently processing by the server.\n* processed - Processing is finished.\n"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The UTC date/time at which the current object was created."
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The UTC date/time at which the news item was published."
                },
                "teaser": {
                  "type": "object",
                  "description": "Contains the headline and a short summary.",
                  "required": [
                    "title",
                    "text",
                    "images"
                  ],
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Main title of the news.",
                      "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                    },
                    "text": {
                      "type": "string",
                      "description": "Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                      "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                    },
                    "text_original": {
                      "type": "string",
                      "readOnly": true,
                      "description": "Original/untouched  text of the news component",
                      "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                    },
                    "images": {
                      "type": "array",
                      "description": "List of images.",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "url",
                          "description"
                        ],
                        "properties": {
                          "url": {
                            "type": "string",
                            "description": "URL of the image.",
                            "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                          },
                          "width": {
                            "type": "integer",
                            "readOnly": true,
                            "description": "Width of the image.",
                            "example": 1140
                          },
                          "height": {
                            "type": "integer",
                            "readOnly": true,
                            "description": "Height of the image.",
                            "example": 840
                          },
                          "orientation": {
                            "type": "string",
                            "readOnly": true,
                            "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                            "example": "landscape"
                          },
                          "size": {
                            "type": "object",
                            "description": "Different sizes of the teaser image.",
                            "readOnly": true,
                            "properties": {
                              "small": {
                                "type": "string",
                                "description": "URL to the small sized image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              },
                              "medium": {
                                "type": "string",
                                "description": "URL to the medium sized image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              },
                              "large": {
                                "type": "string",
                                "description": "URL to the large sized image.",
                                "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                              }
                            }
                          },
                          "description": {
                            "type": "string",
                            "description": "Descriptive text for the image.",
                            "example": "Dezentes grinsen."
                          },
                          "copyright": {
                            "type": "string",
                            "description": "Copyright holder of the image."
                          }
                        }
                      }
                    }
                  }
                },
                "components": {
                  "type": "array",
                  "description": "List of components to display the news.",
                  "items": {
                    "type": "object",
                    "required": [
                      "title",
                      "text",
                      "images",
                      "position"
                    ],
                    "properties": {
                      "title": {
                        "type": "string",
                        "description": "Headline of the component.",
                        "example": "„Ich will erfolgreich sein und guten Fußball spielen lassen“"
                      },
                      "subhead": {
                        "type": "string",
                        "description": "Sub headline for the component.",
                        "example": "Neuer Trainer"
                      },
                      "text": {
                        "type": "string",
                        "description": "Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \\n).",
                        "example": "Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen."
                      },
                      "text_original": {
                        "type": "string",
                        "readOnly": true,
                        "description": "Original/untouched  text of the news component",
                        "example": "<p>Der neue ist Trainer ist da! „Ich bin stolz, dass ich für so einen großen Verein arbeiten darf“, erklärte Peter Bosz bei einer kurzfristig anberaumten Pressekonferenz und fügte hinzu: „Die Gelbe Wand ist legendär.“ Große Ankündigungen waren dem 53 Jahre alte Niederländer von den Medienvertretern jedoch nicht zu entlocken: Freundlich, höflich, aber eben auch angenehm zurückhaltend beantworte er die Fragen.</p>"
                      },
                      "images": {
                        "type": "array",
                        "description": "List of images.",
                        "items": {
                          "type": "object",
                          "required": [
                            "url",
                            "description"
                          ],
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL of the image.",
                              "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                            },
                            "width": {
                              "type": "integer",
                              "readOnly": true,
                              "description": "Width of the image.",
                              "example": 1140
                            },
                            "height": {
                              "type": "integer",
                              "readOnly": true,
                              "description": "Height of the image.",
                              "example": 840
                            },
                            "orientation": {
                              "type": "string",
                              "readOnly": true,
                              "description": "Orientation of the image. \"landscape\", \"square\" or \"portrait\"",
                              "example": "landscape"
                            },
                            "size": {
                              "type": "object",
                              "description": "Different sizes of the teaser image.",
                              "readOnly": true,
                              "properties": {
                                "small": {
                                  "type": "string",
                                  "description": "URL to the small sized image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/small_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "medium": {
                                  "type": "string",
                                  "description": "URL to the medium sized image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/medium_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                },
                                "large": {
                                  "type": "string",
                                  "description": "URL to the large sized image.",
                                  "example": "https://keepr.global.ssl.fastly.net/example/image/file/7143751/large_a9d7489d-556d-4147-b4c8-cedff458d8f1.jpg"
                                }
                              }
                            },
                            "description": {
                              "type": "string",
                              "description": "Descriptive text for the image.",
                              "example": "Dezentes grinsen."
                            },
                            "copyright": {
                              "type": "string",
                              "description": "Copyright holder of the image."
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "ranking": {
                  "type": "integer",
                  "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                  "example": 5
                },
                "send_as_notification": {
                  "example": true,
                  "default": false
                }
              }
            }
          }
        }
      ]
    },
    "NewsStreamVideoItem": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the item."
            },
            "type": {
              "type": "string",
              "description": "Type of the item."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "video"
              ]
            },
            "target": {
              "type": "object",
              "required": [
                "categories",
                "embed_codes",
                "published_at",
                "source_type",
                "title",
                "video_links"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "readOnly": true,
                  "description": "ID of the video."
                },
                "title": {
                  "type": "string",
                  "description": "Title of the video."
                },
                "description": {
                  "type": "string",
                  "description": "Description of the video."
                },
                "locale": {
                  "allOf": [
                    {
                      "type": "string",
                      "description": "Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!",
                      "example": "de-DE",
                      "pattern": "[a-z]{2}-[A-Z]{2}"
                    }
                  ]
                },
                "published_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Date and time when a video was published.\n\n> Date of `published_at` might be before the time the video got imported the first time.\n"
                },
                "position": {
                  "type": "integer",
                  "description": "Position of the video in the original feed."
                },
                "source_type": {
                  "type": "string",
                  "description": "Source of the video.",
                  "enum": [
                    "youtube"
                  ]
                },
                "keywords": {
                  "type": "array",
                  "description": "List of keywords.",
                  "items": {
                    "type": "string"
                  }
                },
                "duration": {
                  "type": "integer",
                  "description": "Duration in seconds of the video."
                },
                "categories": {
                  "type": "array",
                  "description": "List of categories.",
                  "items": {
                    "type": "string"
                  }
                },
                "external_view_count": {
                  "type": "integer",
                  "description": "Number of total views on the original video platform."
                },
                "preview_images": {
                  "type": "object",
                  "readOnly": true,
                  "description": "Preview images of the video in different resolutions.",
                  "properties": {
                    "thumbnail": {
                      "type": "string",
                      "description": "URL to the image. (120x90>)"
                    },
                    "medium": {
                      "type": "string",
                      "description": "URL to the image. (320x138>)"
                    },
                    "large": {
                      "type": "string",
                      "description": "URL to the image. (480x360>)"
                    }
                  }
                },
                "cover_image": {
                  "type": "object",
                  "readOnly": true,
                  "description": "Cover image of the video in different resolutions.",
                  "properties": {
                    "small": {
                      "type": "string",
                      "description": "URL to the image."
                    },
                    "medium": {
                      "type": "string",
                      "description": "URL to the image."
                    },
                    "large": {
                      "type": "string",
                      "description": "URL to the image."
                    }
                  }
                },
                "embed_codes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "description": "HTML/JS snippet to embed the video in a HTML page."
                      },
                      "target": {
                        "type": "string",
                        "description": "Target platform of the embed code.",
                        "enum": [
                          "any"
                        ]
                      },
                      "format": {
                        "type": "string",
                        "description": "Format of the video.",
                        "enum": [
                          "flash",
                          "html5"
                        ]
                      },
                      "quality": {
                        "type": "string",
                        "description": "Quality of the video. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                      }
                    }
                  }
                },
                "video_links": {
                  "type": "array",
                  "description": "List of links to the original platform to watch the video.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "URL to the video."
                      },
                      "target": {
                        "type": "string",
                        "description": "Target platform for the video. For example: \"any\", \"mobile\", \"desktop\".\n"
                      }
                    }
                  }
                },
                "video_sources": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "URL to the video source."
                      },
                      "format": {
                        "type": "string",
                        "description": "Format of the video source. For example: \"flash\", \"mp4\", \"html5\".\n"
                      },
                      "quality": {
                        "type": "string",
                        "description": "Quality of the video used by the embed code. For example: \"adaptive\" (the quality is determined automatically based on the requestiong device), \"hd\", \"sd\" (generic quality identifiers), \"1080\", \"720\" (specific quality identifiers).\n"
                      }
                    }
                  }
                },
                "match_id": {
                  "type": "integer",
                  "description": "The ID of the match associated with this video, if any."
                },
                "protected": {
                  "type": "boolean",
                  "description": "Whether this video is protected."
                },
                "ranking": {
                  "type": "integer",
                  "description": "The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null",
                  "example": 5
                },
                "prio": {
                  "type": "boolean",
                  "example": true,
                  "default": false
                },
                "send_as_notification": {
                  "type": "boolean",
                  "example": false,
                  "default": false
                }
              },
              "description": "Video"
            }
          }
        }
      ]
    },
    "NewsStreamFacebookPostItem": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the item."
            },
            "type": {
              "type": "string",
              "description": "Type of the item."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "facebook_post"
              ]
            },
            "target": {
              "allOf": [
                {
                  "type": "object",
                  "x-extendedDiscriminator": "type",
                  "discriminator": "type",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of the post."
                    },
                    "external_id": {
                      "type": "integer",
                      "description": "ID of the external post."
                    },
                    "external_url": {
                      "type": "string",
                      "description": "URL to the external resource."
                    },
                    "published_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the post was published."
                    },
                    "profile_image_url": {
                      "type": "string",
                      "description": "URL to the profile image."
                    },
                    "image": {
                      "type": "object",
                      "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                      "properties": {
                        "medium": {
                          "type": "object",
                          "description": "Image with max size of 640 x 640 pixels.",
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL to a video if the activity source contains one."
                            }
                          }
                        }
                      }
                    },
                    "image_url": {
                      "type": "string",
                      "description": "URL to the image which is associated with the post."
                    },
                    "image_width": {
                      "type": "integer",
                      "description": "Width in pixels of the image."
                    },
                    "image_height": {
                      "type": "integer",
                      "description": "Height in pixels of the image."
                    },
                    "video_url": {
                      "type": "string",
                      "description": "URL to the video which is associated with the post."
                    },
                    "account": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the account."
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the account."
                        },
                        "group_id": {
                          "type": "integer",
                          "description": "ID of the group which is associated to this account."
                        },
                        "username": {
                          "type": "string",
                          "description": "Username of the account."
                        },
                        "full_name": {
                          "type": "string",
                          "description": "Full name of the account."
                        },
                        "display_name": {
                          "type": "string",
                          "description": "Display name of the account."
                        },
                        "handle": {
                          "type": "string",
                          "description": "Handle"
                        }
                      }
                    },
                    "type": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "facebook_post"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "source": {
                      "type": "object",
                      "description": "See post documentation on [https://developers.facebook.com](https://developers.facebook.com/docs/reference/api/post).\n",
                      "externalDocs": {
                        "description": "Facebook",
                        "url": "https://developers.facebook.com/docs/reference/api/post"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  }
                }
              ],
              "description": "Facebook Post"
            }
          }
        }
      ]
    },
    "NewsStreamTwitterPostItem": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the item."
            },
            "type": {
              "type": "string",
              "description": "Type of the item."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "tweet"
              ]
            },
            "target": {
              "allOf": [
                {
                  "type": "object",
                  "x-extendedDiscriminator": "type",
                  "discriminator": "type",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of the post."
                    },
                    "external_id": {
                      "type": "integer",
                      "description": "ID of the external post."
                    },
                    "external_url": {
                      "type": "string",
                      "description": "URL to the external resource."
                    },
                    "published_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the post was published."
                    },
                    "profile_image_url": {
                      "type": "string",
                      "description": "URL to the profile image."
                    },
                    "image": {
                      "type": "object",
                      "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                      "properties": {
                        "medium": {
                          "type": "object",
                          "description": "Image with max size of 640 x 640 pixels.",
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL to a video if the activity source contains one."
                            }
                          }
                        }
                      }
                    },
                    "image_url": {
                      "type": "string",
                      "description": "URL to the image which is associated with the post."
                    },
                    "image_width": {
                      "type": "integer",
                      "description": "Width in pixels of the image."
                    },
                    "image_height": {
                      "type": "integer",
                      "description": "Height in pixels of the image."
                    },
                    "video_url": {
                      "type": "string",
                      "description": "URL to the video which is associated with the post."
                    },
                    "account": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the account."
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the account."
                        },
                        "group_id": {
                          "type": "integer",
                          "description": "ID of the group which is associated to this account."
                        },
                        "username": {
                          "type": "string",
                          "description": "Username of the account."
                        },
                        "full_name": {
                          "type": "string",
                          "description": "Full name of the account."
                        },
                        "display_name": {
                          "type": "string",
                          "description": "Display name of the account."
                        },
                        "handle": {
                          "type": "string",
                          "description": "Handle"
                        }
                      }
                    },
                    "type": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "tweet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "source": {
                      "type": "object",
                      "description": "See develop documentation on [https://dev.twitter.com/docs](https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid).\n",
                      "externalDocs": {
                        "description": "Twitter",
                        "url": "https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  }
                }
              ],
              "description": "Tweet"
            }
          }
        }
      ]
    },
    "NewsStreamYoutubeVideoItem": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the item."
            },
            "type": {
              "type": "string",
              "description": "Type of the item."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "youtube_video"
              ]
            },
            "target": {
              "allOf": [
                {
                  "type": "object",
                  "x-extendedDiscriminator": "type",
                  "discriminator": "type",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of the post."
                    },
                    "external_id": {
                      "type": "integer",
                      "description": "ID of the external post."
                    },
                    "external_url": {
                      "type": "string",
                      "description": "URL to the external resource."
                    },
                    "published_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the post was published."
                    },
                    "profile_image_url": {
                      "type": "string",
                      "description": "URL to the profile image."
                    },
                    "image": {
                      "type": "object",
                      "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                      "properties": {
                        "medium": {
                          "type": "object",
                          "description": "Image with max size of 640 x 640 pixels.",
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL to a video if the activity source contains one."
                            }
                          }
                        }
                      }
                    },
                    "image_url": {
                      "type": "string",
                      "description": "URL to the image which is associated with the post."
                    },
                    "image_width": {
                      "type": "integer",
                      "description": "Width in pixels of the image."
                    },
                    "image_height": {
                      "type": "integer",
                      "description": "Height in pixels of the image."
                    },
                    "video_url": {
                      "type": "string",
                      "description": "URL to the video which is associated with the post."
                    },
                    "account": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the account."
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the account."
                        },
                        "group_id": {
                          "type": "integer",
                          "description": "ID of the group which is associated to this account."
                        },
                        "username": {
                          "type": "string",
                          "description": "Username of the account."
                        },
                        "full_name": {
                          "type": "string",
                          "description": "Full name of the account."
                        },
                        "display_name": {
                          "type": "string",
                          "description": "Display name of the account."
                        },
                        "handle": {
                          "type": "string",
                          "description": "Handle"
                        }
                      }
                    },
                    "type": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "youtube_video"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Youtube video activity.",
                      "enum": [
                        "youtube_video"
                      ]
                    },
                    "source": {
                      "type": "object",
                      "description": "See develop documentation on [https://developers.google.com/youtube](https://developers.google.com/youtube/v3/docs/playlistItems#resource).\n",
                      "externalDocs": {
                        "description": "Youtube",
                        "url": "https://developers.google.com/youtube/v3/docs/playlistItems#resource"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  }
                }
              ],
              "description": "YouTube Video"
            }
          }
        }
      ]
    },
    "NewsStreamGraphInstagramItem": {
      "allOf": [
        {
          "type": "object",
          "discriminator": "type",
          "x-extendedDiscriminator": "type",
          "properties": {
            "id": {
              "type": "integer",
              "description": "ID of the item."
            },
            "type": {
              "type": "string",
              "description": "Type of the item."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "graph_instagram_post"
              ]
            },
            "target": {
              "allOf": [
                {
                  "type": "object",
                  "x-extendedDiscriminator": "type",
                  "discriminator": "type",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID of the post."
                    },
                    "external_id": {
                      "type": "integer",
                      "description": "ID of the external post."
                    },
                    "external_url": {
                      "type": "string",
                      "description": "URL to the external resource."
                    },
                    "published_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Date and time when the post was published."
                    },
                    "profile_image_url": {
                      "type": "string",
                      "description": "URL to the profile image."
                    },
                    "image": {
                      "type": "object",
                      "description": "Object containing the optimized image URLs. Use this to achieve the best performance.",
                      "properties": {
                        "medium": {
                          "type": "object",
                          "description": "Image with max size of 640 x 640 pixels.",
                          "properties": {
                            "url": {
                              "type": "string",
                              "description": "URL to a video if the activity source contains one."
                            }
                          }
                        }
                      }
                    },
                    "image_url": {
                      "type": "string",
                      "description": "URL to the image which is associated with the post."
                    },
                    "image_width": {
                      "type": "integer",
                      "description": "Width in pixels of the image."
                    },
                    "image_height": {
                      "type": "integer",
                      "description": "Height in pixels of the image."
                    },
                    "video_url": {
                      "type": "string",
                      "description": "URL to the video which is associated with the post."
                    },
                    "account": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID of the account."
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the account."
                        },
                        "group_id": {
                          "type": "integer",
                          "description": "ID of the group which is associated to this account."
                        },
                        "username": {
                          "type": "string",
                          "description": "Username of the account."
                        },
                        "full_name": {
                          "type": "string",
                          "description": "Full name of the account."
                        },
                        "display_name": {
                          "type": "string",
                          "description": "Display name of the account."
                        },
                        "handle": {
                          "type": "string",
                          "description": "Handle"
                        }
                      }
                    },
                    "type": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "graph_instagram_post"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Facebook Graph API Instagram post activity.",
                      "enum": [
                        "graph_instagram_post"
                      ]
                    },
                    "source": {
                      "type": "object",
                      "description": "Instagram Media resource retrieved from Facebook's Graph API.\n",
                      "externalDocs": {
                        "description": "Instagram Graph API Media (Facebook)",
                        "url": "https://developers.facebook.com/docs/instagram-api/reference/media#metadata"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  }
                }
              ],
              "description": "Instagram post"
            }
          }
        }
      ]
    },
    "IsMatchday": {
      "type": "object",
      "properties": {
        "is_match_day": {
          "type": "boolean",
          "description": "If today is a matchday"
        },
        "match_id": {
          "type": "integer",
          "description": "ID of the match"
        },
        "starts_at": {
          "type": "string",
          "format": "date-time",
          "description": "Start of the matchday"
        },
        "ends_at": {
          "type": "string",
          "format": "date-time",
          "description": "End of the matchday"
        },
        "match_matchday_live": {
          "type": "boolean",
          "description": "If the matchday is live"
        }
      }
    }
  }
}
