MediaType: type: string enum: - movie - series description: Type of media ParsedInfo: type: object required: - source - resolution - modifier - languages - year properties: source: type: string description: Detected source (e.g., bluray, webdl, webrip) resolution: type: string description: Detected resolution (e.g., 1080p, 2160p) modifier: type: string description: Quality modifier (e.g., remux, none) languages: type: array items: type: string description: Detected languages releaseGroup: type: string nullable: true description: Detected release group year: type: integer description: Detected year edition: type: string nullable: true description: Detected edition (e.g., Director's Cut) releaseType: type: string nullable: true description: Release type for series (single_episode, season_pack, etc.) ReleaseInput: type: object required: - id - title - type properties: id: type: integer description: Release ID title: type: string description: Release title to parse and evaluate type: $ref: '#/MediaType' ReleaseEvaluation: type: object required: - releaseId - title - cfMatches properties: releaseId: type: integer description: Release ID title: type: string description: Release title parsed: $ref: '#/ParsedInfo' nullable: true description: Parsed release info (null if parsing failed) cfMatches: type: object additionalProperties: type: boolean description: Map of custom format ID to whether it matches EvaluateRequest: type: object required: - databaseId - releases properties: databaseId: type: integer description: Database ID to use for custom format evaluation releases: type: array items: $ref: '#/ReleaseInput' description: Releases to evaluate EvaluateResponse: type: object required: - parserAvailable - evaluations properties: parserAvailable: type: boolean description: Whether the parser service is available evaluations: type: array items: $ref: '#/ReleaseEvaluation' description: Evaluation results for each release