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

# Get Items

> This API retrieves item attribute details for catalog items using their unique item IDs. The attributes can include the title, price, category, link, image_link, and the respective creation date.


#### Rate Limit

* Request limit: You can get 100 item attribute details per minute OR 1000 item attribute details per hour. You can request up to 50 items per request.

* Payload size limit: 5 MB only when the Content-Length header is provided.

<Note>
  The limit is a COMBINED limit across all Catalog APIs for a specific user.
</Note>


## OpenAPI

````yaml /api/catalog/catalog.yaml post /catalog/{catalog_id}/items/search
openapi: 3.0.3
info:
  title: MoEngage Catalog API
  description: >
    This API allows for the management of product and item catalogs, including
    **creation**, **attribute definition**, **item ingestion, updates,
    deletion**, and **retrieval**.


    Authentication is handled via **Basic Auth** (using your Workspace ID as
    username and API Key as password), and all requests additionally require the
    `MOE-APPKEY` header (Workspace ID).


    The API has a platform-wide rate limit of **100 requests/minute OR 1000
    requests/hour**, with a maximum payload size of **5MB**.
  x-mint:
    content: |
      #example 500 max #
  version: '1.0'
servers:
  - url: https://api-{dc}.moengage.com/v1
    variables:
      dc:
        default: '01'
        description: >-
          The ‘dc’ in the API Endpoint URL refers to the MoEngage Data Center
          (DC). MoEngage hosts each customer in a different DC. You can find
          your DC number and replace the value of ‘dc’ in the URL by referring
          to the DC and API endpoint mapping
          [here](/api/introduction#data-centers). Your MoEngage Data Center (DC)
          can be 01, 02, 03, 04, 05, 06, or 101.
security:
  - basicAuth: []
tags:
  - name: Catalog
    description: Operations related to creating and managing catalog schemas (attributes).
  - name: Items
    description: >-
      Operations related to ingesting, updating, and deleting items within a
      catalog.
paths:
  /catalog/{catalog_id}/items/search:
    post:
      tags:
        - Items
      summary: Get Items
      description: >
        This API retrieves item attribute details for catalog items using their
        unique item IDs. The attributes can include the title, price, category,
        link, image_link, and the respective creation date.
      operationId: getItemDetails
      parameters:
        - name: MOE-APPKEY
          in: header
          description: >-
            This is the Workspace ID of your MoEngage account that must be
            passed with the request. You can find it in the MoEngage dashboard
            at **Settings** > **Account** > **APIs** > **Workspace ID (earlier
            app id)**.
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/CatalogIdPath'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - items
              properties:
                items:
                  type: array
                  maxItems: 50
                  description: >
                    A list of unique IDs (strings) that represent the items you
                    want to fetch. This field accepts a maximum of **50 item
                    IDs** per request. If the count exceeds this limit, the
                    request results in an error.


                    **Note**: The request may fail if mandatory attributes are
                    missing from the item configuration.
                  items:
                    type: string
                  example:
                    - P001
                    - P002
                    - P003
                    - P004
            example:
              items:
                - P001
                - P002
                - P003
                - P004
      responses:
        '200':
          description: Items retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetItemDetailsResponse'
              example:
                items:
                  - catalog_id: '{{catalog_id}}'
                    feed_id: '{{feed_id}}'
                    title: string
                    description: string
                    link: https://link.in/
                    image_link: https://link.in/
                    price_currency: USD
                    creation_date: '2024-05-10T07:03:00.18Z'
                    last_updated: '2024-05-10T07:03:00.18Z'
                    product_id: string
                    price: 29.99
                    date: '2022-04-05T00:00:00.00Z'
                    sale_start_date: '2025-08-27T19:26:38.00Z'
                    store_location: 12.9716,77.5946
        '400':
          description: >-
            Bad Request - Invalid request format or item count validation
            failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error-code: invalid-request
                message: >-
                  Item count should be greater than 0 and less than or equal to
                  50
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    CatalogIdPath:
      name: catalog_id
      in: path
      required: true
      description: The unique identifier for the catalog, obtained during catalog creation.
      schema:
        type: string
  schemas:
    GetItemDetailsResponse:
      type: object
      properties:
        items:
          type: array
          description: A list of catalog item objects matching the requested item IDs.
          items:
            type: object
            properties:
              catalog_id:
                type: string
                description: The unique identifier for the catalog.
              feed_id:
                type: string
                description: The feed ID associated with the item.
              title:
                type: string
                description: The title or name of the catalog item.
              description:
                type: string
                description: The description of the catalog item.
              link:
                type: string
                format: uri
                description: The deep link or URL to the item's page.
              image_link:
                type: string
                format: uri
                description: The URL of the primary image for the item.
              price_currency:
                type: string
                description: The ISO 4217 currency code for the item price.
              creation_date:
                type: string
                format: date-time
                description: The date and time when the item was created.
              last_updated:
                type: string
                format: date-time
                description: The date and time when the item was last updated.
              product_id:
                type: string
                description: The product ID of the item.
              price:
                type: number
                format: double
                description: The price of the item.
              date:
                type: string
                format: date-time
                description: A date attribute associated with the item.
            additionalProperties: true
    Error:
      type: object
      properties:
        error-code:
          type: string
          description: A machine-readable error code.
        message:
          type: string
          description: A human-readable description of the error.
  responses:
    Unauthorized:
      description: >-
        Unauthorized - The request does not have valid authentication
        credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error-code: request-unauthenticated
            message: >-
              Your request is unauthorized. Please verify your credentials and
              try again.
    Forbidden:
      description: Forbidden - The client does not have access rights to the Catalog APIs.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error-code: request-denied
            message: Your account does not have access to the Catalog APIs.
    NotFound:
      description: Not Found - The specified resource (catalog) could not be found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error-code: catalog-not-found
            message: >-
              We could not find any API based catalog for the provided catalog
              id.
    PayloadTooLarge:
      description: Payload Too Large - The request payload exceeds the 5MB limit.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error-code: payload-size-exceeded
            message: >-
              Your payload size exceeds the 5MB limit. Please reduce the payload
              size and try again.
    TooManyRequests:
      description: >
        Too Many Requests - The rate limit for the API has been exceeded.


        The following headers are returned in case of rate-limit breach:

        * **x-ratelimit-limit (integer)**: The maximum number of requests that
        the consumer is permitted to make in a given time window.

        * **x-ratelimit-remaining (integer)**: The number of requests remaining
        in the current rate limit window.

        * **x-ratelimit-reset (integer)**: The time at which the current rate
        limit window resets in UTC epoch seconds.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >
        Authentication is done via Basic Auth. This requires a base64-encoded
        string of your credentials in the format 'username:password'.


        - **Username**: Use your MoEngage workspace ID (also known as the App
        ID). You can find it in the MoEngage dashboard at **Settings** >
        **Account** > **APIs** > **Workspace ID (earlier app id)**.

        - **Password**: Use your API Key, which you can find within the
        **Campaign report/Business events/Custom templates/Catalog API/Inform
        Report** tile.


        For more information on authentication and getting your credentials,
        refer
        [here](https://www.moengage.com/docs/api/introduction#getting-your-credentials).

````