> ## 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.

# BatchGetAlbums

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



## OpenAPI

````yaml /api/anghami-sdk.openapi.yaml post /v1/music/albums: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/music/albums:batchGet:
    post:
      tags:
        - MusicCatalogService
      summary: BatchGetAlbums
      description: |-
        BatchGetAlbums retrieves multiple albums by their unique identifiers.
         Returns a map of ID to result, where each result is either the album or an error.
      operationId: BatchGetAlbums
      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_catalog_v1_BatchGetAlbumsRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sdk_catalog_v1_BatchGetAlbumsResponse'
        '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_catalog_v1_BatchGetAlbumsRequest:
      type: object
      properties:
        albumIdList:
          type: array
          items:
            $ref: '#/components/schemas/sdk_shared_v1_AlbumID'
          maxItems: 100
          minItems: 1
      description: >-
        BatchGetAlbumsRequest is the request message for retrieving multiple
        albums by ID.
    sdk_catalog_v1_BatchGetAlbumsResponse:
      type: object
      properties:
        results:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/sdk_catalog_v1_AlbumResult'
          description: |-
            Map of album ID to result. Every requested ID appears in this map.
             Value is either the album or an error explaining why it could not be retrieved.
      description: >-
        BatchGetAlbumsResponse is the response message containing the requested
        albums.
    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_AlbumID:
      type: object
      properties:
        value:
          type: string
          description: The string value of the album identifier.
      required:
        - value
      description: AlbumID is a typed identifier for an album.
    sdk_catalog_v1_AlbumResult:
      type: object
      properties:
        album:
          $ref: '#/components/schemas/sdk_catalog_v1_Album'
        error:
          $ref: '#/components/schemas/sdk_shared_v1_BatchItemError'
      description: AlbumResult wraps either a successfully retrieved album or an error.
    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_catalog_v1_Album:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/sdk_shared_v1_AlbumID'
        title:
          $ref: '#/components/schemas/sdk_shared_v1_LocalizedString'
        artists:
          type: array
          items:
            $ref: '#/components/schemas/sdk_catalog_v1_AlbumArtistRef'
        albumType:
          type: string
          enum:
            - ALBUM_TYPE_UNSPECIFIED
            - ALBUM_TYPE_ALBUM
            - ALBUM_TYPE_SINGLE
            - ALBUM_TYPE_COMPILATION
            - ALBUM_TYPE_EP
          description: AlbumType classifies albums by their release format.
        releaseDate:
          type: string
          description: Release date in YYYY-MM-DD format.
        genres:
          type: array
          items:
            type: string
            description: Genres associated with this album.
        trackCount:
          type: integer
          format: int32
          description: |-
            Total number of tracks on this album.
             Use GetAlbumTracks to retrieve the actual track list.
        artwork:
          type: array
          items:
            $ref: '#/components/schemas/sdk_shared_v1_Image'
        label:
          type: string
          description: Record label that released this album.
        upc:
          type: string
          description: |-
            Universal Product Code for the album.
             May be empty for some regional content.
        popularity:
          type: integer
          format: int32
          description: |-
            Popularity score from 0 to 100.
             Higher values indicate more popular albums.
      description: Album represents a collection of songs released together.
    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_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_catalog_v1_AlbumArtistRef:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/sdk_shared_v1_ArtistID'
        name:
          $ref: '#/components/schemas/sdk_shared_v1_LocalizedString'
      description: |-
        AlbumArtistRef is a lightweight reference to an artist within an album.
         Contains only identification and display name. Use GetArtist for full profile.
    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.
    sdk_shared_v1_ArtistID:
      type: object
      properties:
        value:
          type: string
          description: The string value of the artist identifier.
      required:
        - value
      description: ArtistID is a typed identifier for an artist.

````