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

# Users

> Use this view endpoint to retrieve user data aggregated by user.

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 user data aggregated by user. The data is derived from user 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_user_data_json">
  Retrieve user data (JSON)
</h2>

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

Retrieve user data aggregated by user. 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/users/detail?program=my_program` endpoint.

```json JSON expandable lines wrap theme={null}
{
    "total": 4,
    "is_more": false,
    "count": 4,
    "info": {},
    "start_date": "2021-06-12T00:39:44+0000",
    "end_date": "2023-02-14T01:33:19+0000",
    "last_run_time": "2023-03-09T10:04:32Z",
    "schema": [
        {
            "field": "user_token",
            "type": "character varying(128)",
            "display": "User Token",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        },
        {
            "field": "user_created_date",
            "type": "timestamp without time zone",
            "display": "User Created Date",
            "units": null,
            "hasTotal": false,
            "date_format": "YYYY-MM-DD HH:mm:ss",
            "is_filter_only": false
        },
        {
            "field": "account_type",
            "type": "character varying(128)",
            "display": "Account Type",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        },
        {
            "field": "city",
            "type": "character varying(128)",
            "display": "City",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        },
        {
            "field": "state",
            "type": "character varying(128)",
            "display": "State",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        },
        {
            "field": "zip",
            "type": "character varying(128)",
            "display": "Zip",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        },
        {
            "field": "country",
            "type": "character varying(128)",
            "display": "Country",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        },
        {
            "field": "parent_user_token",
            "type": "character varying(128)",
            "display": "Parent User Token",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        },
        {
            "field": "active_status",
            "type": "character varying(3)",
            "display": "Active Status",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        }
    ],
    "records": [
        {
            "user_token": "f50b74c3-92c2-47e4-9e1e-30eadab1a982",
            "user_created_date": "2021-02-14T01:33:19.000Z",
            "account_type": "Parent",
            "city": "Parkerville",
            "state": "CA",
            "zip": "94612",
            "country": "United States",
            "parent_user_token": "f50b74c3-92c2-47e4-9e1e-30eadab1a982",
            "active_status": "Y"
        },
        {
            "user_token": "55555544-8d2c-4a11-be65-97baf5c84336",
            "user_created_date": "2019-07-24T19:16:14.000Z",
            "account_type": "Parent",
            "city": "Emeryville",
            "state": "CA",
            "zip": "94608",
            "country": "United States",
            "parent_user_token": "55555544-8d2c-4a11-be65-97baf5c84336",
            "active_status": "Y"
        },
        {
            "user_token": "665e2627-683f-44ba-bb0a-e93ebe457680",
            "user_created_date": "2019-06-12T18:07:52.000Z",
            "account_type": "Parent",
            "city": "Emeryville",
            "state": "CA",
            "zip": "94608",
            "country": "United States",
            "parent_user_token": "665e2627-683f-44ba-bb0a-e93ebe457680",
            "active_status": "Y"
        },
        {
            "user_token": "3b2de7df-708c-4857-86b9-3c5eab7aed38",
            "user_created_date": "2019-06-12T00:39:44.000Z",
            "account_type": "Parent",
            "city": "Emeryville",
            "state": "CA",
            "zip": "94608",
            "country": "United States",
            "parent_user_token": "3b2de7df-708c-4857-86b9-3c5eab7aed38",
            "active_status": "N"
        }
    ]
}
```

<h2 id="_retrieve_user_data_file_export">
  Retrieve user data (file export)
</h2>

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

Retrieve user data aggregated by user. 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": "111122225b444d8888888a9999ae11111db63da4.csv.gz"
}
```

<h2 id="_retrieve_user_schema">
  Retrieve user schema
</h2>

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

Retrieve a JSON representation of the users view schema for data aggregated by user. 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/users/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_token",
        "type": "character varying(128)",
        "display": "User Token",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "user_id",
        "type": "integer",
        "display": "User Id",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "uai",
        "type": "character varying(128)",
        "display": "Uai",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "user_created_date",
        "type": "timestamp without time zone",
        "display": "User Created Date",
        "units": null,
        "hasTotal": false,
        "date_format": "YYYY-MM-DD HH:mm:ss",
        "is_filter_only": false
    },
    {
        "field": "account_type",
        "type": "character varying(128)",
        "display": "Account Type",
        "enum_values": [],
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "city",
        "type": "character varying(128)",
        "display": "City",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "state",
        "type": "character varying(128)",
        "display": "State",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "zip",
        "type": "character varying(128)",
        "display": "Zip",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "country",
        "type": "character varying(128)",
        "display": "Country",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "parent_user_token",
        "type": "character varying(128)",
        "display": "Parent User Token",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "parent_id",
        "type": "integer",
        "display": "Parent Id",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "active_status",
        "type": "character varying(3)",
        "display": "Active Status",
        "enum_values": [],
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    }
]
```


## Related topics

- [Users](/docs/core-api/users.md)
- [User Transitions](/docs/core-api/user-transitions.md)
- [User Counts](/docs/diva-api/user-counts.md)
