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

# DiVA API Card Views

> Use this view endpoint to retrieve card state and history data aggregated by card. The data is derived from card information in the Marqeta platform.

export const EndpointCard = ({method = "API", title, children, href, arrow = true}) => {
  const METHOD_STYLES = {
    GET: {
      bg: "mint-bg-green-400/20 dark:mint-bg-green-400/20",
      text: "mint-text-green-700 dark:mint-text-green-400",
      border: "mint-border-green-300 dark:mint-border-green-700"
    },
    POST: {
      bg: "mint-bg-blue-400/20 dark:mint-bg-blue-400/20",
      text: "mint-text-blue-700 dark:mint-text-blue-400"
    },
    PUT: {
      bg: "mint-bg-yellow-400/20 dark:mint-bg-yellow-400/20",
      text: "mint-text-yellow-700 dark:mint-text-yellow-400"
    },
    PATCH: {
      bg: "mint-bg-orange-400/20 dark:mint-bg-orange-400/20",
      text: "mint-text-orange-700 dark:mint-text-orange-400"
    },
    DELETE: {
      bg: "mint-bg-red-400/20 dark:mint-bg-red-400/20",
      text: "mint-text-red-700 dark:mint-text-red-400"
    },
    API: {
      bg: "mint-bg-black",
      text: "mint-text-white"
    }
  };
  const MethodBadge = ({method}) => {
    const style = METHOD_STYLES[method?.toUpperCase()] ?? METHOD_STYLES.GET;
    return <span className={`
          method-pill rounded-lg font-semibold px-1.5 py-0.5 text-xs leading-5 ${style.bg} ${style.text}`}>
        {method?.toUpperCase()}
      </span>;
  };
  const content = <div className="group flex items-center gap-4 border border-gray-200 dark:border-gray-700 rounded-xl p-5 hover:border-gray-400 dark:hover:border-gray-500 hover:shadow-md transition-all cursor-pointer">
      {}
      <div className="shrink-0">
        <MethodBadge method={method} />
      </div>
      {}
      <div className="flex-1 min-w-0">
        <p className="font-semibold text-gray-900 dark:text-white text-sm leading-snug">{title}</p>
        {children && <p className="mt-1 text-sm text-gray-500 dark:text-gray-400 line-clamp-2">{children}</p>}
      </div>
    </div>;
  if (!href) return content;
  return <a href={href} className="block no-underline border-b-0 mb-2">
      {content}
    </a>;
};

Use this view endpoint to retrieve card state and history data aggregated by card. The data is derived from card information in the Marqeta platform.

This endpoint supports multiple response formats, query filtering, field filtering, sorting, and pagination. For more information about response options, see [Response Customization](/diva-api/response-customization/).

<h2 id="_retrieve_card_data_json">
  Retrieve card data (JSON)
</h2>

**Action:** `GET`\
**Endpoint:** `/views/cards/detail`

Retrieve card state and history data aggregated by card. This endpoint returns a JSON object that contains an array of records matching your filter query.

<h3 id="_sample_response_body">
  Sample response body
</h3>

The following sample shows a representative response for a `GET` request to the `/views/cards/detail?program=my_program&fields=card_created_date,card_activation_date,card_state,card_type&card_created_date=2022-09-01..2022-09-30` endpoint.

```json JSON expandable lines wrap theme={null}
{
     "total": 47067,
     "is_more": true,
     "count": 10000,
     "info": {},
     "start_date": "2022-09-01T15:13:53+0000",
     "end_date": "2022-09-30T23:58:16+0000",
     "last_run_time": "2023-03-09T10:03:22Z",
    "schema": [
        {
            "field": "card_created_date",
            "type": "date",
            "display": "Card Created Date",
            "units": null,
            "hasTotal": false,
            "date_format": "YYYY-MM-DD HH:mm:ss",
            "is_filter_only": false
        },
        {
            "field": "card_activation_date",
            "type": "date",
            "display": "Card Activation Date",
            "units": null,
            "hasTotal": false,
            "date_format": "YYYY-MM-DD HH:mm:ss",
            "is_filter_only": false
        },
        {
            "field": "card_state",
            "type": "character varying(128)",
            "display": "Card State",
            "enum_values": [],
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        },
        {
            "field": "card_type",
            "type": "character varying(128)",
            "display": "Card Type",
            "enum_values": [],
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        }
    ],
     "records": [
         {
             "card_created_date": "2022-09-30T20:32:19.000Z",
             "card_activation_date": "2022-09-30T00:00:00.000Z",
             "card_state": "ACTIVE",
             "card_type": "Virtual",
         },
         …
     ]
 }
```

<h2 id="_retrieve_card_data_file_export">
  Retrieve card data (file export)
</h2>

**Action:** `GET`\
**Endpoint:** `/views/cards/detail/{export_type}`

Retrieve card state and history data aggregated by card. This endpoint asynchronously generates a file in the specified format and returns a job token for retrieving the file when it is completed. The file contains a list of records matching your filter query.

<h3 id="_url_path_parameters">
  URL path parameters
</h3>

| Fields                                       | Description                                                                              |
| -------------------------------------------- | ---------------------------------------------------------------------------------------- |
| export\_type<br /><br />string<br />Required | File format in which to export the data.<br /><br />**Allowable Values:**<br /><br />csv |

<h3 id="_query_parameters">
  Query parameters
</h3>

| Fields                                   | Description                                                                                                                               |
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| compress<br /><br />string<br />optional | Type of file compression for the exported file.<br /><br />**Allowable Values:**<br /><br />gz, zip<br /><br />**Default value:**<br />gz |

<h3 id="_sample_response_body_2">
  Sample response body
</h3>

```json JSON lines wrap theme={null}
{
    "token": "111122226c444d8888888a9999ae11111db63da4.csv.gz"
}
```

<h2 id="_retrieve_card_schema">
  Retrieve card schema
</h2>

**Action:** `GET`\
**Endpoint:** `/views/cards/detail/schema`

Retrieve a JSON representation of the card view schema for data aggregated by card. The schema object contains an array of objects that describe the available columns and the data type of each column.

<h3 id="_sample_response_body_3">
  Sample response body
</h3>

The following sample shows a representative response for a `GET` request to the `/views/cards/detail/schema?program=my_program` endpoint. The schema can vary based on the data aggregation level and the data you are authorized to access (based on the credentials you provide in your request).

```json JSON expandable lines wrap theme={null}
[
    {
        "field": "user_id",
        "type": "integer",
        "display": "User Id",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "user_token",
        "type": "character varying(128)",
        "display": "User Token",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "card_token",
        "type": "character varying(128)",
        "display": "Card Token",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "card_product_name",
        "type": "character varying(128)",
        "display": "Card Product Name",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "card_created_date",
        "type": "date",
        "display": "Card Created Date",
        "units": null,
        "hasTotal": false,
        "date_format": "YYYY-MM-DD HH:mm:ss",
        "is_filter_only": false
    },
    {
        "field": "card_activation_date",
        "type": "date",
        "display": "Card Activation Date",
        "units": null,
        "hasTotal": false,
        "date_format": "YYYY-MM-DD HH:mm:ss",
        "is_filter_only": false
    },
    {
        "field": "card_state",
        "type": "character varying(128)",
        "display": "Card State",
        "enum_values": [
            "Active",
            "Suspended",
            "Terminated",
            "Unactivated"
        ],
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "card_type",
        "type": "character varying(128)",
        "display": "Card Type",
        "enum_values": [
            "Physical Icc",
            "Physical Msr",
            "Virtual Pan"
        ],
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "issued_cards",
        "type": "integer",
        "display": "Issued Cards",
        "units": null,
        "hasTotal": true,
        "is_filter_only": false
    },
    {
        "field": "unactivated_cards",
        "type": "integer",
        "display": "Unactivated Cards",
        "units": null,
        "hasTotal": true,
        "is_filter_only": false
    },
    {
        "field": "active_cards",
        "type": "integer",
        "display": "Active Cards",
        "units": null,
        "hasTotal": true,
        "is_filter_only": false
    },
    {
        "field": "suspended_cards",
        "type": "integer",
        "display": "Suspended Cards",
        "units": null,
        "hasTotal": true,
        "is_filter_only": false
    },
    {
        "field": "terminated_cards",
        "type": "integer",
        "display": "Terminated Cards",
        "units": null,
        "hasTotal": true,
        "is_filter_only": false
    }
]
```


## Related topics

- [Introduction to the DiVA API](/docs/diva-api/introduction.md)
- [Exploring the DiVA API](/docs/diva-api/exploring-the-diva-api.md)
- [Errors DiVA API](/docs/diva-api/errors.md)
- [Authentication with the DiVA API](/docs/diva-api/authentication.md)
- [Views](/docs/diva-api/views.md)
