---
title: "List subscriber attributes"
method: GET
path: "/subscribers/attributes"
tags: ["Subscribers"]
---

# List subscriber attributes

`GET /subscribers/attributes`

## Request

- Base URL: `https://api.sequenzy.com/api/v1`
- URL: `https://api.sequenzy.com/api/v1/subscribers/attributes`
- Auth: HTTP bearer

Lists the custom attribute names in use across the account, so you can reuse existing names and value types when creating or updating subscribers. Value types and examples come from up to 100 recent contacts with custom attributes. Names that only older contacts carry come from the account-wide attribute index, which returns up to the 500 most widely used names, and are included with sampledContacts 0 and the type of their indexed example (a boolean is reported for an example of "true" or "false"). Reserved profile fields (email, first and last name) and internal attributes are not listed. Requires subscribers:read.

## Query parameters

- `includeNested` 'true' | 'false'

## Response `200`

Attributes in use across the account

- object
  - `success` boolean, required
  - `attributes` object[], required: Attributes seen on the sampled contacts, most common first, followed by names only older contacts carry.
    - `key` string, required: Attribute name, or a dot path for nested attributes.
    - `valueType` 'string' | 'number' | 'boolean', required: JSON type of the example value. For a list attribute, the type of its items. string when mixedTypes is true.
    - `isArray` boolean, required: Whether the attribute holds a list of values on the sampled contacts. Always false for names that only older contacts carry, because the attribute index does not record list shape.
    - `mixedTypes` boolean, required: True when sampled contacts hold different types for this attribute, for example zip codes stored as numbers on some contacts and strings on others. valueType is then string, the only type that keeps every value intact.
    - `sampleValue` string, nullable, required: An example value as text, truncated to 50 characters. List examples from sampled contacts show up to three items. Null when no example is available.
    - `sampledContacts` integer, required: How many of the sampled contacts carry the attribute. 0 when only older contacts carry it.
  - `sampledContacts` integer, required: Recent contacts with custom attributes that were sampled.

## Other responses

- `400`: includeNested is not true or false
- `401`: Missing or invalid API key
- `403`: The API key lacks subscribers:read or the company role does not allow it
- `500`: The attributes could not be read
- `503`: The database was temporarily unavailable. The request may be retried after the delay in Retry-After.

## Changes

- **2026-10-16** `db3873ca3d4d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/subscribers/attributes/get.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) - [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sequenzy/apis/sequenzy-api/revisions/3d816357b738?raw)
