---
title: "Create a profile segment"
method: POST
path: "/api/reach/v1/profiles/{profileUuid}/segmentation/segments"
tags: ["Reach: Segments"]
---

# Create a profile segment

`POST /api/reach/v1/profiles/{profileUuid}/segmentation/segments`

Create a segment in a profile.

A segment is a saved set of conditions rather than a fixed list, so its membership changes
as contacts change. Creating one does not modify any contact.

## Path parameters

- `profileUuid` string, required

## Request body

- ReachV1ContactsSegmentsProfileStoreRequest — Create a segment from a set of conditions
  - `name` string, required
  - `conditions` object[], required — Conditions a contact must satisfy to fall into the segment
    - `attribute` string, required — A built-in contact attribute, or `cf:{fieldUuid}` to target a custom contact field. Custom fields are addressed by field UUID; their slug is not accepted. Built-in attributes: `email`, `note`, `domain`, `source`, `opt_in_method`, `subscription_status`, `subscribed_at`, `unsubscribed_at`, `created_at`, `tag`, `campaigns`, `processed`, `opened`, `clicked`, `delivered`, `bounced`, `soft_bounced`, `dropped`. Which operators are accepted depends on the attribute.
    - `operator` 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'gte' | 'lte' | 'exists' | 'within_last_days' | 'not_within_last_days' | 'older_than_days' | 'processed' | 'not_processed' | 'delivered' | 'not_delivered' | 'dropped' | 'not_dropped' | 'bounced' | 'not_bounced' | 'soft_bounced' | 'not_soft_bounced' | 'opened' | 'not_opened' | 'clicked' | 'not_clicked' | 'unsubscribed' | 'not_unsubscribed', required
    - `value` string, required — Always a string, including for numeric and date comparisons
  - `logic` 'AND' | 'OR', required — How to combine multiple conditions

## Response `200`

Success response

- ReachV1ContactsSegmentsSegmentResource
  - `uuid` string
  - `name` string
  - `query` unknown[]
    - unknown
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `401` — Unauthenticated response
- `422` — Validation error response
- `500` — Error response

---

[API](https://skmtc.net/hostinger/apis/hostinger-api.md) · [All operations](https://skmtc.net/hostinger/apis/hostinger-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hostinger/hostinger-api/versions/796bd5194565/schema)
