{
  "openapi": "3.0.1",
  "info": {
    "title": "Title",
    "description": "Description",
    "contact": {
      "name": "Example Contact",
      "url": "https://example.com/contact"
    },
    "license": {
      "name": "Example License",
      "url": "https://example.com/license"
    },
    "version": "v1"
  },
  "paths": {
    "/MediaContent/Anime/Title/List": {
      "get": {
        "tags": [
          "Title"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Title"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Title"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Title"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/MediaContent/Anime/Title": {
      "get": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "TitleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Title"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Title"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Title"
                }
              }
            }
          }
        }
      }
    },
    "/MediaContent/Anime/Title/Create": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "nameOriginalLanguageId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "nameOriginal",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      }
    },
    "/MediaContent/Anime/Title/AddSeason": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      }
    },
    "/MediaContent/Anime/Title/DeleteSeason": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "itemId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/AddEpisode": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      }
    },
    "/MediaContent/Anime/Title/DeleteEpisode": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "itemId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/AddName": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "languageId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/NameType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/EditName": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "languageId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/NameType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/DeleteName": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "languageId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/NameType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/SetPreview": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/MediaInfoType"
                }
              ]
            }
          },
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/DeletePreview": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/AddDescription": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "isOriginal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "languageId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "value",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/EditDescription": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "isOriginal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "languageId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "value",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "newValue",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/DeleteDescription": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "isOriginal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "languageId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "value",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/AddGenre": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "genreId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "proportion",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/SetGenreProportion": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "genreId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "proportion",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "newProportion",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/DeleteGenre": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "genreId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/AddRelatedContent": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/MediaInfoType"
                }
              ]
            }
          },
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/EditRelatedContent": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/MediaInfoType"
                }
              ]
            }
          },
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "newType",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/MediaInfoType"
                }
              ]
            }
          },
          {
            "name": "newUrl",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/DeleteRelatedContent": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/MediaInfoType"
                }
              ]
            }
          },
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/SetCompleted": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "completed",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/SetExpirationTime": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "expirationTimeTicks",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/SetAnnouncementDate": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "value",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/SetEstimatedReleaseDate": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "value",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/MediaContent/Anime/Title/SetReleaseDate": {
      "post": {
        "tags": [
          "Title"
        ],
        "parameters": [
          {
            "name": "titleId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "value",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AnimeEpisodeType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "AnimeItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "deleted": {
            "type": "boolean"
          },
          "completed": {
            "type": "boolean"
          },
          "commonProperties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommonProperties"
              }
            ],
            "nullable": true
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "expirationTimeTicks": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "CommonProperties": {
        "type": "object",
        "properties": {
          "names": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NameItem"
            },
            "nullable": true
          },
          "preview": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MediaInfo"
              }
            ],
            "nullable": true
          },
          "descriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Description"
            },
            "nullable": true
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenreProportion"
            },
            "nullable": true
          },
          "relatedContent": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MediaInfo"
            },
            "nullable": true
          },
          "announcementDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "estimatedReleaseDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "releaseDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Description": {
        "required": [
          "language",
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "minLength": 1,
            "type": "string"
          },
          "isOriginal": {
            "type": "boolean"
          },
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Language"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Episode": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AnimeItem"
          }
        ],
        "properties": {
          "variant": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AnimeEpisodeType"
              }
            ]
          },
          "durationTicks": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genre": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "deleted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GenreProportion": {
        "required": [
          "genre"
        ],
        "type": "object",
        "properties": {
          "proportion": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "genre": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Genre"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Language": {
        "required": [
          "codeIso3",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "codeIso3": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "iconId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "deleted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "MediaInfo": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MediaInfoType"
              }
            ]
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MediaInfoType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "NameItem": {
        "required": [
          "language",
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NameType"
              }
            ]
          },
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Language"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "NameType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "Season": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AnimeItem"
          }
        ],
        "properties": {
          "episodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Episode"
            },
            "nullable": true
          },
          "director": {
            "type": "string",
            "nullable": true
          },
          "originCountry": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Title": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "deleted": {
            "type": "boolean"
          },
          "commonProperties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommonProperties"
              }
            ],
            "nullable": true
          },
          "rate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "myRate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "episodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Episode"
            },
            "nullable": true
          },
          "seasons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Season"
            },
            "nullable": true
          },
          "completed": {
            "type": "boolean"
          },
          "episodesInsideSeasonsCount": {
            "type": "integer",
            "format": "int32"
          },
          "expirationTimeTicks": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      }
    }
  }
}