Mario Universalis

Mario Universalis · GPT Actions

Get information about Mario games

Search and get some informations about Mario games

  • GET /gamesSearchGames

    Search for Mario games

原始 API 定义
{
  "openapi": "3.0.0",
  "info": {
    "title": "Get information about Mario games",
    "description": "Search and get some informations about Mario games",
    "version": "v1.0.0"
  },
  "servers": [
    {
      "url": "https://www.mariouniversalis.fr/api"
    }
  ],
  "paths": {
    "/games": {
      "get": {
        "description": "Search for Mario games",
        "operationId": "SearchGames",
        "parameters": [
          {
            "name": "search_name",
            "in": "query",
            "description": "Search for games with this specific name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id_device",
            "in": "query",
            "description": "ID of the device to get games from",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "enum": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16
              ]
            },
            "examples": {
              "NES": {
                "value": 1,
                "summary": "Nintendo Entertainment System"
              },
              "GB": {
                "value": 2,
                "summary": "Game Boy"
              },
              "SNES": {
                "value": 3,
                "summary": "Super Nintendo"
              },
              "N64": {
                "value": 4,
                "summary": "Nintendo 64"
              },
              "GBA": {
                "value": 5,
                "summary": "Game Boy Advance"
              },
              "GC": {
                "value": 6,
                "summary": "Game Cube"
              },
              "DS": {
                "value": 7,
                "summary": "Nintendo DS"
              },
              "WII": {
                "value": 8,
                "summary": "Wii"
              },
              "DSI": {
                "value": 9,
                "summary": "Nintendo DSi"
              },
              "GBC": {
                "value": 10,
                "summary": "Game Boy Color"
              },
              "3DS": {
                "value": 11,
                "summary": "Nintendo 3DS"
              },
              "VB": {
                "value": 12,
                "summary": "Virtual Boy"
              },
              "WIIU": {
                "value": 13,
                "summary": "Wii U"
              },
              "SWITCH": {
                "value": 14,
                "summary": "Nintendo Switch"
              },
              "PHONE": {
                "value": 15,
                "summary": "Smartphones"
              },
              "CDI": {
                "value": 16,
                "summary": "Philips CD-i"
              }
            }
          },
          {
            "name": "id_genre",
            "in": "query",
            "description": "ID of the genre retreived games must have",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "enum": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10
              ]
            },
            "examples": {
              "platform": {
                "value": 1,
                "summary": "Plate-formes"
              },
              "partygame": {
                "value": 2,
                "summary": "Mini-jeux"
              },
              "rpg": {
                "value": 3,
                "summary": "Jeu de rôle"
              },
              "puzzle": {
                "value": 4,
                "summary": "Casse-têtes"
              },
              "sport": {
                "value": 5,
                "summary": "Sport"
              },
              "fighting": {
                "value": 6,
                "summary": "Combat"
              },
              "shooter": {
                "value": 7,
                "summary": "Shoot'Em Up"
              },
              "racing": {
                "value": 8,
                "summary": "Courses"
              },
              "action": {
                "value": 9,
                "summary": "Action/Aventure"
              },
              "educational": {
                "value": 10,
                "summary": "Educatif"
              }
            }
          },
          {
            "name": "order_by",
            "in": "query",
            "description": "Order list of games by specific fields",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^(name|release_date_eur|release_date_usa|release_date_jap|next_anniversary_eur|next_anniversary_usa|next_anniversary_jap|popularity|random)(\\sASC|\\sDESC)?(,\\s?(name|release_date_eur|release_date_usa|release_date_jap|next_anniversary_eur|next_anniversary_usa|next_anniversary_jap|popularity|random)(\\sASC|\\sDESC)?)*$"
            },
            "examples": {
              "POPULARITY": {
                "value": "popularity DESC",
                "summary": "From most popular to least popular"
              },
              "DATE": {
                "value": "release_date_eur DESC,name ASC",
                "summary": "From most recent to oldest, then by alphabetical order"
              },
              "RANDOM": {
                "value": "random",
                "summary": "Random order"
              }
            }
          },
          {
            "name": "range",
            "in": "query",
            "description": "Allows to query specific number of games. Format is `${startIndex}-${lastIndex}`",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d/-\\d$"
            },
            "examples": {
              "FIRST": {
                "value": "0-0",
                "summary": "Only first game"
              },
              "FIRST_15": {
                "value": "0-14",
                "summary": "First 15 games"
              },
              "SECOND_PAGE": {
                "value": "10-19",
                "summary": "Second page of 10 games"
              }
            }
          },
          {
            "name": "release_date_eur",
            "in": "query",
            "description": "Search for games released at this date in Europe. Can be a date at format YYYY-MM-DD, or constants \"soon\" or \"today\".",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^(soon|today|\\d{4}-\\d{2}-\\d{2})$"
            },
            "examples": {
              "SOON": {
                "value": "soon",
                "summary": "soon"
              },
              "TODAY": {
                "value": "today",
                "summary": "today"
              },
              "SPECIFIC_DATE": {
                "value": "1992-04-11",
                "summary": "11th of April, 1992"
              }
            }
          },
          {
            "name": "release_date_usa",
            "in": "query",
            "description": "Search for games released at this date in America. Can be a date at format YYYY-MM-DD, or constants \"soon\" or \"today\".",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^(soon|today|\\d{4}-\\d{2}-\\d{2})$"
            },
            "examples": {
              "SOON": {
                "value": "soon",
                "summary": "soon"
              },
              "TODAY": {
                "value": "today",
                "summary": "today"
              },
              "SPECIFIC_DATE": {
                "value": "1991-08-13",
                "summary": "8th of August, 1991"
              }
            }
          },
          {
            "name": "release_date_jap",
            "in": "query",
            "description": "Search for games released at this date in Japan. Can be a date at format YYYY-MM-DD, or constants \"soon\" or \"today\".",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^(soon|today|\\d{4}-\\d{2}-\\d{2})$"
            },
            "examples": {
              "SOON": {
                "value": "soon",
                "summary": "soon"
              },
              "TODAY": {
                "value": "today",
                "summary": "today"
              },
              "SPECIFIC_DATE": {
                "value": "1990-11-21",
                "summary": "21st of November, 1990"
              }
            }
          },
          {
            "name": "release_date",
            "in": "query",
            "description": "Search for games released at this date anywhere in the world. Can be a date at format YYYY-MM-DD, or constants \"soon\" or \"today\".",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^(soon|today|\\d{4}-\\d{2}-\\d{2})$"
            },
            "examples": {
              "SOON": {
                "value": "soon",
                "summary": "soon"
              },
              "TODAY": {
                "value": "today",
                "summary": "today"
              },
              "SPECIFIC_DATE": {
                "value": "1991-08-13",
                "summary": "8th of August, 1991"
              }
            }
          },
          {
            "name": "release_month_eur",
            "in": "query",
            "description": "Search for games released at this month in Europe",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/Month"
            }
          },
          {
            "name": "release_month_usa",
            "in": "query",
            "description": "Search for games released at this month in America",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/Month"
            }
          },
          {
            "name": "release_month_jap",
            "in": "query",
            "description": "Search for games released at this month in Japan",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/Month"
            }
          },
          {
            "name": "release_month",
            "in": "query",
            "description": "Search for games released at this month anywhere in the world",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/Month"
            }
          },
          {
            "name": "release_year_eur",
            "in": "query",
            "description": "Search for games released at this year in Europe.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "release_year_usa",
            "in": "query",
            "description": "Search for games released at this year in America",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "release_year_jap",
            "in": "query",
            "description": "Search for games released at this year in Japan",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "release_year",
            "in": "query",
            "description": "Search for games released at this year anywhere in the world",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "anniversary_eur",
            "in": "query",
            "description": "Search for games whose European anniversary is on this date. Can be a date at format MM-DD, or constants \"soon\" or \"today\".",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/MonthDay"
            },
            "examples": {
              "SOON": {
                "value": "soon",
                "summary": "soon"
              },
              "TODAY": {
                "value": "today",
                "summary": "today"
              },
              "SPECIFIC_DATE": {
                "value": "04-11",
                "summary": "11th of April"
              }
            }
          },
          {
            "name": "anniversary_usa",
            "in": "query",
            "description": "Search for games whose American anniversary is on this date. Can be a date at format MM-DD, or constants \"soon\" or \"today\".",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/MonthDay"
            },
            "examples": {
              "SOON": {
                "value": "soon",
                "summary": "soon"
              },
              "TODAY": {
                "value": "today",
                "summary": "today"
              },
              "SPECIFIC_DATE": {
                "value": "08-13",
                "summary": "8th of August"
              }
            }
          },
          {
            "name": "anniversary_jap",
            "in": "query",
            "description": "Search for games whose Japanese anniversary is on this date. Can be a date at format MM-DD, or constants \"soon\" or \"today\".",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/MonthDay"
            },
            "examples": {
              "SOON": {
                "value": "soon",
                "summary": "soon"
              },
              "TODAY": {
                "value": "today",
                "summary": "today"
              },
              "SPECIFIC_DATE": {
                "value": "11-21",
                "summary": "21st of November"
              }
            }
          },
          {
            "name": "anniversary",
            "in": "query",
            "description": "Search for games whose anniversary (from anywhere in the world) )is on this date. Can be a date at format MM-DD, or constants \"soon\" or \"today\".",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/MonthDay"
            },
            "examples": {
              "SOON": {
                "value": "soon",
                "summary": "soon"
              },
              "TODAY": {
                "value": "today",
                "summary": "today"
              },
              "SPECIFIC_DATE": {
                "value": "08-13",
                "summary": "8th of August"
              }
            }
          },
          {
            "name": "has_been_released_eur",
            "in": "query",
            "description": "Search for game already released in Europe if true, or not released in Europe if false.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "has_been_released_usa",
            "in": "query",
            "description": "Search for game already released in America if true, or not released in America if false.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "has_been_released_jap",
            "in": "query",
            "description": "Search for game already released in Japan if true, or not released in Japan if false.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "has_been_released",
            "in": "query",
            "description": "Search for game already released anywhere in the world if true, or not released at all if false.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "has_manual",
            "in": "query",
            "description": "Search for games with an accessible manual if true, or without manual if false",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "has_been_rated",
            "in": "query",
            "description": "Search for games which has received some ratings if true, or without any ratings if false",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "has_online",
            "in": "query",
            "description": "Search for games with online features if true, or without any online features if false",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "206": {
            "description": "A paged array of Mario games",
            "headers": {
              "content-range": {
                "schema": {
                  "type": "string"
                },
                "description": "Indicates the indexes of returned games + total of games corresponding to current search.",
                "example": "games 0/9 67"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Game"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Month": {
        "type": "integer",
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ]
      },
      "MonthDay": {
        "type": "string",
        "pattern": "^(soon|today|\\d{2}-\\d{2})$"
      },
      "Video": {
        "type": "object",
        "required": [
          "title",
          "published_at",
          "youtube_video_id",
          "youtube_channel_id",
          "youtube_channel_title",
          "thumbnail_url"
        ],
        "properties": {
          "title": {
            "type": "string"
          },
          "published_at": {
            "type": "string",
            "format": "datetime"
          },
          "youtube_video_id": {
            "type": "string",
            "format": "uuid"
          },
          "youtube_channel_id": {
            "type": "string",
            "format": "uuid"
          },
          "youtube_channel_title": {
            "type": "string"
          },
          "thumbnail_url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "Genre": {
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Uniq genre ID"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "Device": {
        "type": "object",
        "required": [
          "id",
          "name",
          "release_date_eur",
          "release_date_usa",
          "release_date_jap"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Uniq device ID"
          },
          "name": {
            "type": "string"
          },
          "release_date_eur": {
            "type": "string",
            "format": "date",
            "description": "European release date"
          },
          "release_date_usa": {
            "type": "string",
            "format": "date",
            "description": "American release date"
          },
          "release_date_jap": {
            "type": "string",
            "format": "date",
            "description": "Japanese release date"
          }
        }
      },
      "Game": {
        "type": "object",
        "required": [
          "id",
          "name",
          "description",
          "has_online",
          "total_ratings",
          "popularity",
          "days_before_anniversary_eur",
          "days_before_anniversary_usa",
          "days_before_anniversary_jap",
          "release_date_eur",
          "release_date_usa",
          "release_date_jap",
          "image_url",
          "manual_url",
          "genres",
          "device"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Uniq game ID"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "Short description of the game, in french."
          },
          "has_online": {
            "type": "boolean",
            "description": "Has this game some online features?"
          },
          "total_ratings": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "description": "Total of ratings this game has received"
          },
          "popularity": {
            "type": "number",
            "format": "double",
            "minimum": 0,
            "maximum": 20,
            "description": "Popularity of the game (based on a Bayesian average from jeuxvideo.com ratings)"
          },
          "days_before_anniversary_eur": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 366,
            "description": "Total of days before the European anniversary of this game. If game has not been released yet, total of days before its European release."
          },
          "days_before_anniversary_usa": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 366,
            "description": "Total of days before the American anniversary of this game. If game has not been released yet, total of days before its American release."
          },
          "days_before_anniversary_jap": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 366,
            "description": "Total of days before the Japanese anniversary of this game. If game has not been released yet, total of days before its Japanese release."
          },
          "release_date_eur": {
            "type": "string",
            "format": "date",
            "description": "European release date"
          },
          "release_date_usa": {
            "type": "string",
            "format": "date",
            "description": "American release date"
          },
          "release_date_jap": {
            "type": "string",
            "format": "date",
            "description": "Japanese release date"
          },
          "image_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to the boxart of this game"
          },
          "manual_url": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "description": "URL to the manual of this game (PDF file). If Mario Uniersalis does not have this manual, value is `null`. If so, that does NOT means this game does not have any manual, it's just that Mario Universalis does not have it!"
          },
          "device": {
            "$ref": "#/components/schemas/Device"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genre"
            }
          },
          "videos": {
            "type": "array",
            "description": "YouTube videos related to this game",
            "items": {
              "$ref": "#/components/schemas/Video"
            }
          }
        }
      }
    }
  }
}