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

# Cards Overview

## Overview

The MoEngage Cards API allows you to fetch and delete user-specific Cards from the MoEngage database. Use these endpoints to retrieve cards for a user, filter them by platform and category, check for updates since the last sync, and remove specific card campaigns.

<Info>
  If this API is not enabled for your account, contact your MoEngage Customer Success Manager (CSM) or the Support team to request enablement.
</Info>

## Cards API Endpoints

Cards API is a collection of the following APIs:

* [Fetch Cards](https://moengage.mintlify.app/api/cards/fetch-cards-for-user)
* [Delete Cards](https://moengage.mintlify.app/api/cards/delete-cards-for-user)

## Supported Channels

| Channel   | Platforms         |
| :-------- | :---------------- |
| **Cards** | Android, iOS, Web |

## Supported Delivery Types

| Delivery Type    | Cards |
| :--------------- | :---- |
| ONE\_TIME        | ✓     |
| EVENT\_TRIGGERED | ✓     |

## Notes

<Note>
  * **Delete Operation Constraint:** The **Delete Cards** operation uses the `DELETE` HTTP method with a request body. This is a non-standard implementation and may not be supported by all HTTP clients or tools. Ensure your client supports sending a body with a DELETE request.
  * **Authentication:** Authentication is via **Basic Auth**.
    * **Username:** Your MoEngage Workspace ID (found in Settings > Account > APIs).
    * **Password:** Your API Key.
</Note>

## FAQs

### Fetch Cards

<AccordionGroup>
  <Accordion title="How do I fetch only the cards updated since the last sync?" icon="sparkles">
    You can use the `prev_sync_card_ids` (list of card IDs from the previous sync) and `last_updated_time` (Unix epoch timestamp of the last sync) fields in the request body. The API will return only the new or updated cards.
  </Accordion>

  <Accordion title="Can I filter cards by platform or category?" icon="sparkles">
    Yes. You can filter by platform using the `platforms` array (e.g., `[&quot;ANDROID&quot;, &quot;WEB&quot;]`) and by category using the `card_category` string field in the request body.
  </Accordion>

  <Accordion title="Which identifier should I use for the user?" icon="sparkles">
    You must provide either the `uid` (MoEngage Standard ID like Email or Mobile Number) or the `unique_id` (Platform-specific device identifier). One of these is required.
  </Accordion>

  <Accordion title="What is the difference between unique_id and uid?" icon="sparkles">
    The *unique\_id* is the unique value that identifies the user to whom the cards need to be shown. It is a platform-specific device identifier that can be generated.

    The *uid* is the unique MoEngage Standard ID (Email ID Standard or the Mobile Number Standard) that identifies the user.
  </Accordion>
</AccordionGroup>

### Delete Cards

<AccordionGroup>
  <Accordion title="Why does the Delete API require a request body?" icon="sparkles">
    The Delete Cards API requires complex filtering parameters (campaign IDs, specific platforms, and user identifiers) which are best transmitted via a JSON body, even though this deviates from the standard REST pattern for `DELETE` requests.
  </Accordion>

  <Accordion title="Can I delete cards for a specific platform only?" icon="sparkles">
    Yes, you can specify the `platforms` array in the request body (e.g., `[&quot;android&quot;]`) to delete the cards only from those specific platforms. If omitted, it deletes from all associated platforms.
  </Accordion>

  <Accordion title="What is the difference between unique_id and uid?" icon="sparkles">
    The *unique\_id* is the unique value that identifies the user to whom the cards need to be deleted. It is a platform-specific device identifier that can be generated. The *uid* is the unique MoEngage Standard ID that identifies the user.
  </Accordion>
</AccordionGroup>

## Postman Collections

We have made it easy for you to test the APIs. Click [here](https://www.postman.com/moengage-dev/api-docs/collection/dpuqrlz/moengage-cards) to view the Postman collection.
