Skip to main content
POST
/
api
/
v1
/
profiles
List profiles
curl --request POST \
  --url http://localhost:3001/api/v1/profiles \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "search": "<string>",
  "segmentFilter": [
    "<string>"
  ],
  "profilePropertyFilter": [
    {
      "id": "<string>",
      "values": [
        "<string>"
      ]
    }
  ],
  "sourceFilter": [],
  "deliverySuppressionReasonFilter": [],
  "cursor": "<string>",
  "limit": 50,
  "profileIds": [
    "<string>"
  ]
}
'
{
  "profiles": [
    {
      "id": "<string>",
      "email": "<string>",
      "phone": "<string>",
      "sources": [
        "<string>"
      ],
      "properties": {},
      "segments": [
        {
          "id": "<string>",
          "name": "<string>",
          "type": "<string>"
        }
      ],
      "deliverySuppression": {
        "suppressed": true,
        "email": "<string>",
        "suppressedAt": "<string>",
        "latestBounceReason": "<string>",
        "latestBounceDiagnosticCode": "<string>"
      },
      "createdAt": "<string>",
      "updatedAt": "<string>"
    }
  ],
  "profileCount": 4503599627370495,
  "previousCursor": "<string>",
  "nextCursor": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://segmentflow.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-api-key
string
header
required

Unified API key for server-side SDK and API integrations

Body

application/json

POST /api/v1/profiles request body. Filter shape shared with bulk-by-filter endpoints.

Search Profiles by email, phone, or external ID (case-insensitive partial match)

segmentFilter
string[]

Filter by Segment IDs

profilePropertyFilter
object[]

Filter by profile properties

sourceFilter
enum<string>[]

Filter by ingestion source. Values are the same as the dashboard's Source column.

Available options:
form_submission,
csv_import,
api_sync,
sdk,
manual_edit,
computed
deliverySuppressionStatus
enum<string>

Filter by current Delivery Suppression status.

Available options:
eligible,
suppressed
deliverySuppressionReasonFilter
enum<string>[]

Filter by current Delivery Suppression reason. Any reason filter implies suppressed Profiles.

Available options:
HardBounced,
Complained,
SoftBounceSuppressed
cursor
string

Pagination cursor from previous response

direction
enum<string>

Pagination direction (defaults to "after")

Available options:
before,
after
limit
integer

Number of Profiles to return (defaults to 10)

Required range: 1 <= x <= 100
profileIds
string[]

Filter by specific Profile IDs

Response

Default Response

POST /api/v1/profiles response — paginated Profiles

profiles
object[]
required
profileCount
integer
required

Total count of Profiles matching filters

Required range: 0 <= x <= 9007199254740991
previousCursor
string

Cursor for previous page

nextCursor
string

Cursor for next page