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

# Segments

> Create and manage segments with the MailGlyph PHP SDK.

Use a **secret key** client for segments methods.

```php theme={null}
<?php

use MailGlyph\MailGlyph;

$client = new MailGlyph($_ENV['MAILGLYPH_SECRET_KEY']);
```

## List segments (`segments->list`)

```php theme={null}
<?php

$segments = $client->segments->list();
echo count($segments) . PHP_EOL;
```

## Create a segment (`segments->create`)

```php theme={null}
<?php

$segment = $client->segments->create([
    'name' => 'Premium users',
    'description' => 'Users on paid plans',
    'condition' => [
        'logic' => 'AND',
        'groups' => [
            [
                'filters' => [
                    ['field' => 'data.plan', 'operator' => 'equals', 'value' => 'premium'],
                ],
            ],
        ],
    ],
    'trackMembership' => true,
]);

echo $segment->id . PHP_EOL;
echo $segment->memberCount . PHP_EOL;
```

## Get one segment (`segments->get`)

```php theme={null}
<?php

$existing = $client->segments->get($segment->id);
echo $existing->name . PHP_EOL;
```

## Update a segment (`segments->update`)

```php theme={null}
<?php

$updated = $client->segments->update($segment->id, [
    'name' => 'VIP users',
    'condition' => [
        'logic' => 'AND',
        'groups' => [
            [
                'filters' => [
                    ['field' => 'subscribed', 'operator' => 'equals', 'value' => true],
                ],
            ],
        ],
    ],
]);

echo $updated->name . PHP_EOL;
```

## List segment contacts (`segments->listContacts`)

```php theme={null}
<?php

$members = $client->segments->listContacts($segment->id, [
    'page' => 1,
    'pageSize' => 20,
]);

echo $members['total'] . PHP_EOL;
echo $members['page'] . PHP_EOL;
echo count($members['data']) . PHP_EOL;
```

## Delete a segment (`segments->delete`)

```php theme={null}
<?php

$client->segments->delete($segment->id);
```

See full details in the [Segments API reference](https://docs.mailglyph.com/api-reference/segments/listSegments.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.