> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sdk.anghami.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BatchGetSeasons

> BatchGetSeasons retrieves multiple seasons by their unique identifiers.
 Returns a map of ID to result, where each result is either the season or an error.



## OpenAPI

````yaml /api/anghami-sdk.openapi.yaml post /v1/video/seasons:batchGet
openapi: 3.1.0
info:
  title: Anghami + OSN+ SDK
  description: >-
    Unified OpenAPI bundle covering all Anghami + OSN+ SDK services (music +
    video streaming).
  contact:
    name: Anghami Developer Platform
    email: developers@anghami.com
  version: 1.0.0
servers:
  - url: https://sdk.anghami.com
security: []
paths:
  /v1/video/seasons:batchGet:
    post:
      tags:
        - VideoCatalogService
      summary: BatchGetSeasons
      description: |-
        BatchGetSeasons retrieves multiple seasons by their unique identifiers.
         Returns a map of ID to result, where each result is either the season or an error.
      operationId: BatchGetSeasons
      parameters:
        - name: Authorization
          in: header
          description: >-
            OAuth 2.0 Bearer token for user-authenticated requests. Format:
            Bearer <access_token>. Optional if x-api-key is provided.
          required: false
          schema:
            type: string
            example: Bearer eyJhbGciOiJSUzI1NiIs...
        - name: x-api-key
          in: header
          description: >-
            API key for server-to-server access without user context. Optional
            if Authorization is provided.
          required: false
          schema:
            type: string
            example: ang_live_...
        - name: Accept-Language
          in: header
          description: >-
            Preferred locale for localized content (BCP 47). Determines which
            language variant is returned for LocalizedString fields.
          required: false
          schema:
            type: string
            example: ar
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sdk_video_v1_BatchGetSeasonsRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sdk_video_v1_BatchGetSeasonsResponse'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        default:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    sdk_video_v1_BatchGetSeasonsRequest:
      type: object
      properties:
        seasonIdList:
          type: array
          items:
            $ref: '#/components/schemas/sdk_shared_v1_SeasonID'
          maxItems: 100
          minItems: 1
      description: >-
        BatchGetSeasonsRequest is the request message for retrieving multiple
        seasons by ID.
    sdk_video_v1_BatchGetSeasonsResponse:
      type: object
      properties:
        results:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/sdk_video_v1_SeasonResult'
          description: |-
            Map from requested season ID to the result.
             Keys match the IDs from the request.
      description: >-
        BatchGetSeasonsResponse contains the results for each requested season
        ID.
         Each ID maps to either the season entity or an error.
    ValidationError:
      type: object
      properties:
        violations:
          type: array
          items:
            $ref: '#/components/schemas/FieldViolation'
          description: List of validation violations
      required:
        - violations
      description: >-
        ValidationError is returned when request validation fails. It contains a
        list of field violations describing what went wrong.
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message (e.g., 'user not found', 'database connection failed')
      description: >-
        Error is returned when a handler encounters an error. It contains a
        simple error message that the developer can customize.
    sdk_shared_v1_SeasonID:
      type: object
      properties:
        value:
          type: string
          description: The string value of the season identifier.
      required:
        - value
      description: SeasonID is a typed identifier for a season.
    sdk_video_v1_SeasonResult:
      type: object
      properties:
        season:
          $ref: '#/components/schemas/sdk_video_v1_Season'
        error:
          $ref: '#/components/schemas/sdk_shared_v1_BatchItemError'
      description: >-
        SeasonResult represents the result of fetching a single season in a
        batch request.
    FieldViolation:
      type: object
      properties:
        field:
          type: string
          description: >-
            The field path that failed validation (e.g., 'user.email' for nested
            fields). For header validation, this will be the header name (e.g.,
            'X-API-Key')
        description:
          type: string
          description: >-
            Human-readable description of the validation violation (e.g., 'must
            be a valid email address', 'required field missing')
      required:
        - field
        - description
      description: FieldViolation describes a single validation error for a specific field.
    sdk_video_v1_Season:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/sdk_shared_v1_SeasonID'
        showId:
          $ref: '#/components/schemas/sdk_shared_v1_ShowID'
        seasonNumber:
          type: integer
          format: int32
          description: Season number (1-based) within the show.
        title:
          $ref: '#/components/schemas/sdk_shared_v1_LocalizedString'
        description:
          $ref: '#/components/schemas/sdk_shared_v1_LocalizedString'
        episodeCount:
          type: integer
          format: int32
          description: Total number of episodes in this season.
        airDate:
          type: string
          description: Air date of the first episode in YYYY-MM-DD format.
        artwork:
          type: array
          items:
            $ref: '#/components/schemas/sdk_shared_v1_Image'
      description: |-
        Season represents a full season within a show.
         Contains complete metadata but not the episode list - use GetSeason for paginated episodes.
    sdk_shared_v1_BatchItemError:
      type: object
      properties:
        code:
          type: string
          enum:
            - ERROR_CODE_UNSPECIFIED
            - ERROR_CODE_INVALID_REQUEST
            - ERROR_CODE_UNAUTHENTICATED
            - ERROR_CODE_PERMISSION_DENIED
            - ERROR_CODE_NOT_FOUND
            - ERROR_CODE_CONFLICT
            - ERROR_CODE_RATE_LIMITED
            - ERROR_CODE_INTERNAL
            - ERROR_CODE_UNAVAILABLE
          description: ErrorCode enumerates the standard error conditions in the SDK API.
        message:
          type: string
          description: >-
            Human-readable error message with additional details about the
            failure.
      description: >-
        BatchItemError describes why a specific item in a batch request could
        not be retrieved.
         Used in batch response maps where each ID maps to either the entity or an error.
         Common in BatchGetSongs, BatchGetAlbums, etc. where individual items may fail
         while others succeed.
    sdk_shared_v1_ShowID:
      type: object
      properties:
        value:
          type: string
          description: The string value of the show identifier.
      required:
        - value
      description: ShowID is a typed identifier for a show.
    sdk_shared_v1_LocalizedString:
      type: object
      properties:
        value:
          type: string
          description: |-
            The text value resolved for the requested locale.
             The server selects this based on the Accept-Language header.
        originalValue:
          type: string
          description: |-
            The text value in its original language.
             For content originally in Arabic, this is the Arabic text.
             For content originally in English/Latin, this is the English text.
             May be identical to value when the requested locale matches the original.
      description: |-
        LocalizedString provides a text value in the requested locale along with
         the original-language value. The resolved value is determined server-side
         from the Accept-Language request header.

         Anghami's catalog is Arabic-first, meaning most content has both Arabic and
         Latin/transliterated titles. This message allows clients to display either
         representation as needed by the user interface.
    sdk_shared_v1_Image:
      type: object
      properties:
        url:
          type: string
          description: URL of the image.
        width:
          type: integer
          format: int32
          description: Width in pixels.
        height:
          type: integer
          format: int32
          description: Height in pixels.
      description: Image represents artwork or visual media at a specific size.

````