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

# Get metadata for multiple markets

> Get metadata (name, description, curation status, and reserve public keys) for Kamino Lend markets. When market is omitted, all configured markets are returned. The response is keyed by market public key; unknown markets are omitted.



## OpenAPI

````yaml /kamino-api.json get /markets/batch/metadata
openapi: 3.1.0
info:
  version: 1.0.0
  title: Kamino Public API
  description: >
    The Kamino API provides a comprehensive way to interact with Kamino without
    reading directly from the blockchain.


    The API also provides the ability to fetch data that might not be available
    from just reading the chain.


    The API is rate-limited for unauthenticated users. If you feel you need to
    make more requests or run into rate-limit issues, please reach out.
servers:
  - url: https://api.kamino.finance
security: []
paths:
  /markets/batch/metadata:
    get:
      tags:
        - Kamino Lend Markets
      summary: Get metadata for multiple markets
      description: >-
        Get metadata (name, description, curation status, and reserve public
        keys) for Kamino Lend markets. When market is omitted, all configured
        markets are returned. The response is keyed by market public key;
        unknown markets are omitted.
      parameters:
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
            description: >-
              Market public keys, provided as comma-separated or repeated query
              parameters (max 100); defaults to all configured markets when
              omitted
            example: 7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF
          required: false
          description: >-
            Market public keys, provided as comma-separated or repeated query
            parameters (max 100); defaults to all configured markets when
            omitted
          name: market
          in: query
        - schema:
            type: string
            default: KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD
            description: KLend program ID
            example: KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD
          required: false
          description: KLend program ID
          name: programId
          in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketsBatchMetadataResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: High-level error message describing the failure
                    example: Invalid query params
                  details:
                    type: array
                    items:
                      type: object
                      additionalProperties: {}
                    description: >-
                      Detailed validation issues (present only for validation
                      errors)
                required:
                  - error
                description: Bad request response (400)
                example:
                  error: Invalid query request
                  details:
                    - code: invalid_union
                      errors:
                        - - code: custom
                            path: []
                            message: Invalid date string
                        - - expected: number
                            code: invalid_type
                            path: []
                            message: 'Invalid input: expected number, received string'
                      path:
                        - start
                      message: Invalid input
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    MarketsBatchMetadataResponse:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/MarketMetadata'
      description: Market metadata keyed by market public key. Unknown markets are omitted.
      example:
        7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF:
          reserves:
            - d4A2prbA2whesmvHaL88BH6Ewn5N4bTSU2Ze8P6Bc4Q
          name: SOL/BTC Market
          description: Primary market on mainnet
          isCurated: false
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message for internal server failure
          example: An internal error occurred
      required:
        - error
      description: Internal server error response (500)
      example:
        error: An internal error occurred
    MarketMetadata:
      type: object
      properties:
        reserves:
          type: array
          items:
            $ref: '#/components/schemas/AddressBase58'
          description: Public keys of all reserves in the market
          example:
            - d4A2prbA2whesmvHaL88BH6Ewn5N4bTSU2Ze8P6Bc4Q
        name:
          type: string
          description: Market name
          example: SOL/BTC Market
        description:
          type: string
          description: Market description
          example: Primary market on mainnet
        isCurated:
          type: boolean
          description: Whether this market is curated
          example: false
      required:
        - reserves
        - name
        - description
        - isCurated
    AddressBase58:
      type: string
      description: Valid base58-encoded address
      example: VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd

````